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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 11121x 11121x 11121x 11121x 11121x 33163x 33163x 33163x 33163x 33163x 33163x 33163x 11121x 11121x 10557x 10557x 11121x 11121x 268x 268x 268x 11121x 11121x 267x 267x 11121x 11121x 334x 63x 63x 271x 271x 271x 271x 271x 334x 1x 1x 1x 1x 1x 1x 271x 271x 271x 11121x 11121x | import {IRegistry} from "../_iregistry"; import {SyntaxLogic} from "../abap/5_syntax/syntax"; import {BasicRuleConfig} from "./_basic_rule_config"; import {IObject} from "../objects/_iobject"; import {ABAPObject} from "../objects/_abap_object"; import {Issue} from "../issue"; import {RuleTag, IRuleMetadata, IRule} from "./_irule"; import {Severity} from "../severity"; import {CheckSyntaxKey} from "../abap/5_syntax/_syntax_input"; export class CheckSyntaxConf extends BasicRuleConfig { } export class CheckSyntax implements IRule { private reg: IRegistry; private conf = new CheckSyntaxConf(); public getMetadata(): IRuleMetadata { return { key: CheckSyntaxKey, title: "Check syntax", shortDescription: `Enables syntax check and variable resolution`, tags: [RuleTag.Syntax], }; } public getConfig() { return this.conf; } public initialize(reg: IRegistry) { this.reg = reg; return this; } public setConfig(conf: CheckSyntaxConf) { this.conf = conf; } public run(obj: IObject): Issue[] { if (!(obj instanceof ABAPObject)) { return []; } const issues = new SyntaxLogic(this.reg, obj).run().issues; // the syntax logic does not know the rule severity when its run if (this.conf.severity && this.conf.severity !== Severity.Error) { issues.forEach((value: Issue, index: number) => { const data = value.getData(); data.severity = this.conf.severity!; issues[index] = new Issue(data); }); } return issues; } } |