@abaplint/core 2.112.6 → 2.112.7
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.
|
@@ -316,9 +316,9 @@ class ObjectOriented {
|
|
|
316
316
|
return ignore;
|
|
317
317
|
}
|
|
318
318
|
// returns list of interfaces implemented
|
|
319
|
-
fromInterfaces(
|
|
319
|
+
fromInterfaces(definition, skip) {
|
|
320
320
|
const ignore = [];
|
|
321
|
-
for (const i of
|
|
321
|
+
for (const i of definition.getImplementing()) {
|
|
322
322
|
ignore.push(...this.fromInterfaceByName(i.name, ignore.concat(skip || [])));
|
|
323
323
|
}
|
|
324
324
|
return ignore;
|
|
@@ -11,6 +11,7 @@ const _scope_type_1 = require("../5_syntax/_scope_type");
|
|
|
11
11
|
const event_definition_1 = require("./event_definition");
|
|
12
12
|
const method_definitions_1 = require("./method_definitions");
|
|
13
13
|
const _reference_1 = require("../5_syntax/_reference");
|
|
14
|
+
const _object_oriented_1 = require("../5_syntax/_object_oriented");
|
|
14
15
|
class InterfaceDefinition extends _identifier_1.Identifier {
|
|
15
16
|
constructor(node, input) {
|
|
16
17
|
if (!(node.get() instanceof Structures.Interface)) {
|
|
@@ -76,32 +77,12 @@ class InterfaceDefinition extends _identifier_1.Identifier {
|
|
|
76
77
|
}
|
|
77
78
|
parse(input, node) {
|
|
78
79
|
this.checkInterfacesExists(input, node);
|
|
80
|
+
const helper = new _object_oriented_1.ObjectOriented(input.scope);
|
|
81
|
+
helper.fromInterfaces(this);
|
|
79
82
|
// todo, proper sequencing, the statements should be processed line by line
|
|
80
83
|
this.attributes = new class_attributes_1.Attributes(node, input);
|
|
81
84
|
this.typeDefinitions = this.attributes.getTypes();
|
|
82
85
|
this.aliases = this.attributes.getAliases();
|
|
83
|
-
// todo, cleanup aliases, vs "object_oriented.ts" vs "class_implementation.ts"
|
|
84
|
-
// this adds the aliased types to scope?
|
|
85
|
-
/*
|
|
86
|
-
for (const a of this.aliases) {
|
|
87
|
-
const [objName, fieldName] = a.getComponent().split("~");
|
|
88
|
-
const idef = input.scope.findInterfaceDefinition(objName);
|
|
89
|
-
if (idef) {
|
|
90
|
-
const foundType = idef.getTypeDefinitions().getByName(fieldName);
|
|
91
|
-
if (foundType) {
|
|
92
|
-
input.scope.addTypeNamed(a.getName(), foundType);
|
|
93
|
-
} else {
|
|
94
|
-
const foundField = idef.getAttributes().findByName(fieldName);
|
|
95
|
-
if (foundField && foundField instanceof ClassConstant) {
|
|
96
|
-
const token = new TokenIdentifier(a.getStart(), a.getName());
|
|
97
|
-
const id = new TypedIdentifier(token, input.filename, foundField.getType());
|
|
98
|
-
const constant = new ClassConstant(id, Visibility.Public, foundField.getValue());
|
|
99
|
-
input.scope.addIdentifier(constant);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
*/
|
|
105
86
|
const events = node.findAllStatements(Statements.Events);
|
|
106
87
|
for (const e of events) {
|
|
107
88
|
this.events.push(new event_definition_1.EventDefinition(e, visibility_1.Visibility.Public, input));
|
package/build/src/registry.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.112.
|
|
3
|
+
"version": "2.112.7",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -50,20 +50,20 @@
|
|
|
50
50
|
},
|
|
51
51
|
"homepage": "https://abaplint.org",
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@microsoft/api-extractor": "^7.47.
|
|
53
|
+
"@microsoft/api-extractor": "^7.47.4",
|
|
54
54
|
"@types/chai": "^4.3.16",
|
|
55
55
|
"@types/mocha": "^10.0.7",
|
|
56
|
-
"@types/node": "^
|
|
57
|
-
"chai": "^4.
|
|
56
|
+
"@types/node": "^22.0.0",
|
|
57
|
+
"chai": "^4.5.0",
|
|
58
58
|
"eslint": "^8.57.0",
|
|
59
59
|
"mocha": "^10.7.0",
|
|
60
60
|
"c8": "^10.1.2",
|
|
61
61
|
"source-map-support": "^0.5.21",
|
|
62
62
|
"ts-json-schema-generator": "^2.3.0",
|
|
63
|
-
"typescript": "^5.5.
|
|
63
|
+
"typescript": "^5.5.4"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"fast-xml-parser": "^4.4.
|
|
66
|
+
"fast-xml-parser": "^4.4.1",
|
|
67
67
|
"json5": "^2.2.3",
|
|
68
68
|
"vscode-languageserver-types": "^3.17.5"
|
|
69
69
|
}
|