@abaplint/core 2.119.13 → 2.119.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/src/registry.js
CHANGED
|
@@ -4,9 +4,14 @@ exports.NoAliases = exports.NoAliasesConf = void 0;
|
|
|
4
4
|
const issue_1 = require("../issue");
|
|
5
5
|
const _basic_rule_config_1 = require("./_basic_rule_config");
|
|
6
6
|
const _abap_rule_1 = require("./_abap_rule");
|
|
7
|
-
const Statements = require("../abap/2_statements/statements");
|
|
8
7
|
const _irule_1 = require("./_irule");
|
|
8
|
+
const visibility_1 = require("../abap/4_file_information/visibility");
|
|
9
9
|
class NoAliasesConf extends _basic_rule_config_1.BasicRuleConfig {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
/** Skip reporting aliases in private sections. */
|
|
13
|
+
this.ignorePrivate = false;
|
|
14
|
+
}
|
|
10
15
|
}
|
|
11
16
|
exports.NoAliasesConf = NoAliasesConf;
|
|
12
17
|
class NoAliases extends _abap_rule_1.ABAPRule {
|
|
@@ -19,7 +24,6 @@ class NoAliases extends _abap_rule_1.ABAPRule {
|
|
|
19
24
|
key: "no_aliases",
|
|
20
25
|
title: "No ALIASES",
|
|
21
26
|
shortDescription: `Detects use of the ALIAS statement`,
|
|
22
|
-
extendedInformation: `Only one issue is reported for chained statements`,
|
|
23
27
|
tags: [_irule_1.RuleTag.SingleFile],
|
|
24
28
|
};
|
|
25
29
|
}
|
|
@@ -32,18 +36,24 @@ class NoAliases extends _abap_rule_1.ABAPRule {
|
|
|
32
36
|
runParsed(file) {
|
|
33
37
|
const issues = [];
|
|
34
38
|
const message = "Do not use ALIASES";
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (prev && prev.getColon() === stat.getColon()) {
|
|
39
|
+
for (const classDef of file.getInfo().listClassDefinitions()) {
|
|
40
|
+
for (const alias of classDef.aliases) {
|
|
41
|
+
if (this.skipAlias(alias)) {
|
|
39
42
|
continue;
|
|
40
43
|
}
|
|
41
|
-
issues.push(issue_1.Issue.
|
|
42
|
-
|
|
44
|
+
issues.push(issue_1.Issue.atIdentifier(alias.identifier, message, this.getMetadata().key, this.conf.severity));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
for (const interfaceDef of file.getInfo().listInterfaceDefinitions()) {
|
|
48
|
+
for (const alias of interfaceDef.aliases) {
|
|
49
|
+
issues.push(issue_1.Issue.atIdentifier(alias.identifier, message, this.getMetadata().key, this.conf.severity));
|
|
43
50
|
}
|
|
44
51
|
}
|
|
45
52
|
return issues;
|
|
46
53
|
}
|
|
54
|
+
skipAlias(alias) {
|
|
55
|
+
return this.conf.ignorePrivate === true && alias.visibility === visibility_1.Visibility.Private;
|
|
56
|
+
}
|
|
47
57
|
}
|
|
48
58
|
exports.NoAliases = NoAliases;
|
|
49
59
|
//# sourceMappingURL=no_aliases.js.map
|