Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 28603x 28603x 28603x 1x 1x 36448x 7372x 7372x 29076x 29076x 29076x 29076x 36448x 29904x 29904x 29076x 29076x 29076x 1x 1x | import {IRule, IRuleMetadata} from "./_irule";
import {IObject} from "../objects/_iobject";
import {ABAPObject} from "../objects/_abap_object";
import {Issue} from "../issue";
import {IRegistry} from "../_iregistry";
import {ABAPFile} from "../abap/abap_file";
export abstract class ABAPRule implements IRule {
protected reg: IRegistry;
public abstract getMetadata(): IRuleMetadata;
public abstract getConfig(): void;
public abstract setConfig(conf: any): void;
public abstract runParsed(file: ABAPFile, obj: ABAPObject): readonly Issue[];
public initialize(reg: IRegistry) {
this.reg = reg;
return this;
}
public run(obj: IObject): readonly Issue[] {
if (!(obj instanceof ABAPObject)) {
return [];
}
const abap = obj as ABAPObject;
const output: Issue[] = [];
for (const file of abap.getABAPFiles()) {
output.push(...this.runParsed(file, obj));
}
return output;
}
} |