@abaplint/core
Version:
abaplint - Core API
58 lines • 2.08 kB
JavaScript
;
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