UNPKG

@abaplint/core

Version:
50 lines 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CheckInclude = exports.CheckIncludeConf = void 0; const _basic_rule_config_1 = require("./_basic_rule_config"); const _abap_object_1 = require("../objects/_abap_object"); const include_graph_1 = require("../utils/include_graph"); const _irule_1 = require("./_irule"); class CheckIncludeConf extends _basic_rule_config_1.BasicRuleConfig { } exports.CheckIncludeConf = CheckIncludeConf; class CheckInclude { constructor() { this.conf = new CheckIncludeConf(); } getMetadata() { return { key: "check_include", title: "Check INCLUDEs", shortDescription: `Checks INCLUDE statements`, extendedInformation: ` * Reports unused includes * Errors if the includes are not found * Error if including a main program`, tags: [_irule_1.RuleTag.Syntax], }; } getConfig() { return this.conf; } setConfig(conf) { this.conf = conf; } initialize(reg) { this.reg = reg; this.graph = new include_graph_1.IncludeGraph(this.reg); return this; } run(obj) { if (!(obj instanceof _abap_object_1.ABAPObject)) { return []; } let ret = []; for (const file of obj.getABAPFiles()) { ret = ret.concat(this.graph.getIssuesFile(file)); } return ret; } } exports.CheckInclude = CheckInclude; //# sourceMappingURL=check_include.js.map