UNPKG

@abaplint/core

Version:
58 lines 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UnsecureFAE = exports.UnsecureFAEConf = void 0; const Expressions = require("../abap/2_statements/expressions"); const issue_1 = require("../issue"); const _basic_rule_config_1 = require("./_basic_rule_config"); const _irule_1 = require("./_irule"); const _abap_object_1 = require("../objects/_abap_object"); const syntax_1 = require("../abap/5_syntax/syntax"); class UnsecureFAEConf extends _basic_rule_config_1.BasicRuleConfig { } exports.UnsecureFAEConf = UnsecureFAEConf; class UnsecureFAE { constructor() { this.conf = new UnsecureFAEConf(); } getMetadata() { 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: [_irule_1.RuleTag.Experimental, _irule_1.RuleTag.Performance], }; } getConfig() { return this.conf; } initialize(reg) { this.reg = reg; return this; } setConfig(conf) { this.conf = conf; } run(obj) { var _a; const issues = []; if (!(obj instanceof _abap_object_1.ABAPObject)) { return issues; } const syntaxResult = new syntax_1.SyntaxLogic(this.reg, obj).run(); if (syntaxResult.issues.length > 0) { return issues; } for (const f of obj.getABAPFiles()) { // todo for (const e of ((_a = f.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.SQLForAllEntries)) || []) { const token = e.getFirstToken(); const message = "Unsecure FAE"; issues.push(issue_1.Issue.atToken(f, token, message, this.getMetadata().key, this.getConfig().severity)); } } return issues; } } exports.UnsecureFAE = UnsecureFAE; //# sourceMappingURL=unsecure_fae.js.map