@abaplint/core 2.113.125 → 2.113.126
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/abaplint.d.ts +1 -0
- package/build/src/abap/5_syntax/_current_scope.js +13 -0
- package/build/src/abap/5_syntax/basic_types.js +1 -1
- package/build/src/abap/5_syntax/expressions/data_definition.js +0 -1
- package/build/src/registry.js +1 -1
- package/build/src/rules/xml_consistency.js +1 -1
- package/package.json +3 -3
package/build/abaplint.d.ts
CHANGED
|
@@ -1506,6 +1506,7 @@ export declare class CurrentScope {
|
|
|
1506
1506
|
getType(): ScopeType;
|
|
1507
1507
|
push(stype: ScopeType, sname: string, start: Position, filename: string): void;
|
|
1508
1508
|
isOO(): boolean;
|
|
1509
|
+
isAnyOO(): boolean;
|
|
1509
1510
|
isGlobalOO(): boolean;
|
|
1510
1511
|
isTypePool(): boolean;
|
|
1511
1512
|
setAllowHeaderUse(name: string): void;
|
|
@@ -429,6 +429,19 @@ class CurrentScope {
|
|
|
429
429
|
}
|
|
430
430
|
return false;
|
|
431
431
|
}
|
|
432
|
+
isAnyOO() {
|
|
433
|
+
let curr = this.current;
|
|
434
|
+
while (curr !== undefined) {
|
|
435
|
+
const stype = curr.getIdentifier().stype;
|
|
436
|
+
if (stype === _scope_type_1.ScopeType.ClassDefinition
|
|
437
|
+
|| stype === _scope_type_1.ScopeType.ClassImplementation
|
|
438
|
+
|| stype === _scope_type_1.ScopeType.Interface) {
|
|
439
|
+
return true;
|
|
440
|
+
}
|
|
441
|
+
curr = curr.getParent();
|
|
442
|
+
}
|
|
443
|
+
return false;
|
|
444
|
+
}
|
|
432
445
|
isGlobalOO() {
|
|
433
446
|
return this.parentObj.getType() === "INTF" || this.parentObj.getType() === "CLAS";
|
|
434
447
|
}
|
|
@@ -139,7 +139,7 @@ class BasicTypes {
|
|
|
139
139
|
if (type === undefined) {
|
|
140
140
|
type = (_a = this.input.scope.getDDIC().lookupNoVoid(name)) === null || _a === void 0 ? void 0 : _a.type;
|
|
141
141
|
}
|
|
142
|
-
if (type === undefined && this.input.scope.
|
|
142
|
+
if (type === undefined && this.input.scope.isAnyOO() === false && this.input.scope.getDDIC().inErrorNamespace(name) === false) {
|
|
143
143
|
this.input.scope.addReference(chain.getChildren()[0].getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.input.filename);
|
|
144
144
|
return new Types.VoidType(name);
|
|
145
145
|
}
|
package/build/src/registry.js
CHANGED
|
@@ -60,7 +60,7 @@ class XMLConsistency {
|
|
|
60
60
|
issues.push(issue_1.Issue.atRow(file, 1, "Class matching XML name not found in ABAP file", this.getMetadata().key, this.conf.severity));
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
if (obj instanceof Objects.Interface) {
|
|
63
|
+
else if (obj instanceof Objects.Interface) {
|
|
64
64
|
const name = obj.getNameFromXML();
|
|
65
65
|
if (name === undefined) {
|
|
66
66
|
issues.push(issue_1.Issue.atRow(file, 1, "Name undefined in XML", this.getMetadata().key, this.conf.severity));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.113.
|
|
3
|
+
"version": "2.113.126",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
"@microsoft/api-extractor": "^7.52.8",
|
|
54
54
|
"@types/chai": "^4.3.20",
|
|
55
55
|
"@types/mocha": "^10.0.10",
|
|
56
|
-
"@types/node": "^22.15.
|
|
56
|
+
"@types/node": "^22.15.29",
|
|
57
57
|
"chai": "^4.5.0",
|
|
58
|
-
"eslint": "^9.
|
|
58
|
+
"eslint": "^9.28.0",
|
|
59
59
|
"mocha": "^11.5.0",
|
|
60
60
|
"c8": "^10.1.3",
|
|
61
61
|
"source-map-support": "^0.5.21",
|