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 61 62 63 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 11207x 11207x 11207x 11207x 11207x 33419x 33419x 33419x 33419x 33419x 33419x 33419x 33419x 11207x 11207x 10643x 10643x 11207x 11207x 269x 269x 269x 11207x 11207x 266x 266x 11207x 11207x 335x 335x 63x 63x 272x 272x 335x 29x 29x 243x 335x 250x 250x 1x 1x 1x 1x 250x 243x 243x 243x 11207x 11207x | import * as Expressions from "../abap/2_statements/expressions"; import {Issue} from "../issue"; import {BasicRuleConfig} from "./_basic_rule_config"; import {IRegistry} from "../_iregistry"; import {IRule, IRuleMetadata, RuleTag} from "./_irule"; import {IObject} from "../objects/_iobject"; import {ABAPObject} from "../objects/_abap_object"; import {SyntaxLogic} from "../abap/5_syntax/syntax"; export class UnsecureFAEConf extends BasicRuleConfig { } export class UnsecureFAE implements IRule { private reg: IRegistry; private conf = new UnsecureFAEConf(); public getMetadata(): IRuleMetadata { return { key: "unsecure_fae", title: "Unsecure FAE", shortDescription: `Checks for unsecure FAE`, extendedInformation: `Issues from rule check_syntax must be fixed before this rule takes effect`, tags: [RuleTag.Experimental, RuleTag.Performance], }; } public getConfig() { return this.conf; } public initialize(reg: IRegistry) { this.reg = reg; return this; } public setConfig(conf: UnsecureFAEConf) { this.conf = conf; } public run(obj: IObject): Issue[] { const issues: Issue[] = []; if (!(obj instanceof ABAPObject)) { return issues; } const syntaxResult = new SyntaxLogic(this.reg, obj).run(); if (syntaxResult.issues.length > 0) { return issues; } for (const f of obj.getABAPFiles()) { // todo for (const e of f.getStructure()?.findAllExpressions(Expressions.SQLForAllEntries) || []) { const token = e.getFirstToken(); const message = "Unsecure FAE"; issues.push(Issue.atToken(f, token, message, this.getMetadata().key, this.getConfig().severity)); } } return issues; } } |