@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(classDefinition, skip) {
319
+ fromInterfaces(definition, skip) {
320
320
  const ignore = [];
321
- for (const i of classDefinition.getImplementing()) {
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));
@@ -67,7 +67,7 @@ class Registry {
67
67
  }
68
68
  static abaplintVersion() {
69
69
  // magic, see build script "version.sh"
70
- return "2.112.6";
70
+ return "2.112.7";
71
71
  }
72
72
  getDDICReferences() {
73
73
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.112.6",
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.2",
53
+ "@microsoft/api-extractor": "^7.47.4",
54
54
  "@types/chai": "^4.3.16",
55
55
  "@types/mocha": "^10.0.7",
56
- "@types/node": "^20.14.11",
57
- "chai": "^4.4.1",
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.3"
63
+ "typescript": "^5.5.4"
64
64
  },
65
65
  "dependencies": {
66
- "fast-xml-parser": "^4.4.0",
66
+ "fast-xml-parser": "^4.4.1",
67
67
  "json5": "^2.2.3",
68
68
  "vscode-languageserver-types": "^3.17.5"
69
69
  }