UNPKG

@abaplint/core

Version:
49 lines 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NoAliases = exports.NoAliasesConf = void 0; const issue_1 = require("../issue"); const _basic_rule_config_1 = require("./_basic_rule_config"); const _abap_rule_1 = require("./_abap_rule"); const Statements = require("../abap/2_statements/statements"); const _irule_1 = require("./_irule"); class NoAliasesConf extends _basic_rule_config_1.BasicRuleConfig { } exports.NoAliasesConf = NoAliasesConf; class NoAliases extends _abap_rule_1.ABAPRule { constructor() { super(...arguments); this.conf = new NoAliasesConf(); } getMetadata() { return { key: "no_aliases", title: "No ALIASES", shortDescription: `Detects use of the ALIAS statement`, extendedInformation: `Only one issue is reported for chained statements`, tags: [_irule_1.RuleTag.SingleFile], }; } getConfig() { return this.conf; } setConfig(conf) { this.conf = conf; } runParsed(file) { const issues = []; const message = "Do not use ALIASES"; let prev = undefined; for (const stat of file.getStatements()) { if (stat.get() instanceof Statements.Aliases) { if (prev && prev.getColon() === stat.getColon()) { continue; } issues.push(issue_1.Issue.atStatement(file, stat, message, this.getMetadata().key, this.conf.severity)); prev = stat; } } return issues; } } exports.NoAliases = NoAliases; //# sourceMappingURL=no_aliases.js.map