@abaplint/cli 2.113.5 → 2.113.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.
Files changed (2) hide show
  1. package/build/cli.js +30 -12
  2. package/package.json +3 -3
package/build/cli.js CHANGED
@@ -21808,6 +21808,7 @@ exports.ObjectOriented = void 0;
21808
21808
  const Statements = __webpack_require__(/*! ../2_statements/statements */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js");
21809
21809
  const Expressions = __webpack_require__(/*! ../2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
21810
21810
  const visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ "./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js");
21811
+ const types_1 = __webpack_require__(/*! ../types */ "./node_modules/@abaplint/core/build/src/abap/types/index.js");
21811
21812
  // todo, think some of the public methods can be made private
21812
21813
  // todo: changet this class to static? for performance
21813
21814
  class ObjectOriented {
@@ -21881,6 +21882,18 @@ class ObjectOriented {
21881
21882
  }
21882
21883
  return undefined;
21883
21884
  }
21885
+ methodReferenceExtras(foundDef, ooName) {
21886
+ if (foundDef === undefined) {
21887
+ return {
21888
+ ooName: ooName,
21889
+ ooType: undefined,
21890
+ };
21891
+ }
21892
+ return {
21893
+ ooName: foundDef === null || foundDef === void 0 ? void 0 : foundDef.getName(),
21894
+ ooType: foundDef instanceof types_1.ClassDefinition ? "CLAS" : "INTF",
21895
+ };
21896
+ }
21884
21897
  findClassName(node) {
21885
21898
  if (!(node.get() instanceof Statements.ClassImplementation
21886
21899
  || node.get() instanceof Statements.ClassDefinition)) {
@@ -25718,7 +25731,6 @@ const method_call_param_1 = __webpack_require__(/*! ./method_call_param */ "./no
25718
25731
  const _reference_1 = __webpack_require__(/*! ../_reference */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js");
25719
25732
  const component_name_1 = __webpack_require__(/*! ./component_name */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js");
25720
25733
  const attribute_name_1 = __webpack_require__(/*! ./attribute_name */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js");
25721
- const class_definition_1 = __webpack_require__(/*! ../../types/class_definition */ "./node_modules/@abaplint/core/build/src/abap/types/class_definition.js");
25722
25734
  const _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js");
25723
25735
  class MethodCallChain {
25724
25736
  runSyntax(node, input, targetType) {
@@ -25761,10 +25773,8 @@ class MethodCallChain {
25761
25773
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, methodToken, message));
25762
25774
  return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
25763
25775
  }
25764
- const extra = {
25765
- ooName: foundDef === null || foundDef === void 0 ? void 0 : foundDef.getName(),
25766
- ooType: foundDef instanceof class_definition_1.ClassDefinition ? "CLAS" : "INTF"
25767
- };
25776
+ const voidedName = context instanceof basic_1.VoidType ? context.getVoided() : undefined;
25777
+ const extra = helper.methodReferenceExtras(foundDef, className || voidedName);
25768
25778
  input.scope.addReference(methodToken, method, _reference_1.ReferenceType.MethodReference, input.filename, extra);
25769
25779
  }
25770
25780
  if (methodName === null || methodName === void 0 ? void 0 : methodName.includes("~")) {
@@ -26349,7 +26359,6 @@ const source_field_1 = __webpack_require__(/*! ./source_field */ "./node_modules
26349
26359
  const tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
26350
26360
  const attribute_name_1 = __webpack_require__(/*! ./attribute_name */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js");
26351
26361
  const component_name_1 = __webpack_require__(/*! ./component_name */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js");
26352
- const types_1 = __webpack_require__(/*! ../../types */ "./node_modules/@abaplint/core/build/src/abap/types/index.js");
26353
26362
  const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
26354
26363
  const _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js");
26355
26364
  const assert_error_1 = __webpack_require__(/*! ../assert_error */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js");
@@ -26429,10 +26438,7 @@ class MethodSource {
26429
26438
  return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
26430
26439
  }
26431
26440
  else if (method) {
26432
- const extra = {
26433
- ooName: foundDef === null || foundDef === void 0 ? void 0 : foundDef.getName(),
26434
- ooType: foundDef instanceof types_1.ClassDefinition ? "CLAS" : "INTF"
26435
- };
26441
+ const extra = helper.methodReferenceExtras(foundDef, className);
26436
26442
  input.scope.addReference(methodToken, method, _reference_1.ReferenceType.MethodReference, input.filename, extra);
26437
26443
  context = method;
26438
26444
  }
@@ -42479,8 +42485,10 @@ const _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identif
42479
42485
  const _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js");
42480
42486
  const _builtin_1 = __webpack_require__(/*! ../abap/5_syntax/_builtin */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js");
42481
42487
  const _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js");
42488
+ const objects_1 = __webpack_require__(/*! ../objects */ "./node_modules/@abaplint/core/build/src/objects/index.js");
42482
42489
  const types_1 = __webpack_require__(/*! ../abap/types */ "./node_modules/@abaplint/core/build/src/abap/types/index.js");
42483
42490
  const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js");
42491
+ const include_graph_1 = __webpack_require__(/*! ../utils/include_graph */ "./node_modules/@abaplint/core/build/src/utils/include_graph.js");
42484
42492
  class LSPLookup {
42485
42493
  static lookup(cursor, reg, obj) {
42486
42494
  var _a, _b;
@@ -42493,7 +42501,17 @@ class LSPLookup {
42493
42501
  if (fm) {
42494
42502
  return { hover: "Function Module " + fm };
42495
42503
  }
42496
- const bottomScope = new syntax_1.SyntaxLogic(reg, obj).run().spaghetti.lookupPosition(cursor.identifier.getStart(), cursor.identifier.getFilename());
42504
+ let main = obj;
42505
+ if (obj instanceof objects_1.Program && obj.isInclude()) {
42506
+ // todo: this is slow
42507
+ const ig = new include_graph_1.IncludeGraph(reg);
42508
+ const mains = ig.listMainForInclude(cursor.identifier.getFilename());
42509
+ if (mains.length === 1) {
42510
+ // yea, well, or it has to be a popup
42511
+ main = reg.findObjectForFile(reg.getFileByName(mains[0])) || obj;
42512
+ }
42513
+ }
42514
+ const bottomScope = new syntax_1.SyntaxLogic(reg, main).run().spaghetti.lookupPosition(cursor.identifier.getStart(), cursor.identifier.getFilename());
42497
42515
  if (bottomScope === undefined) {
42498
42516
  return undefined;
42499
42517
  }
@@ -52696,7 +52714,7 @@ class Registry {
52696
52714
  }
52697
52715
  static abaplintVersion() {
52698
52716
  // magic, see build script "version.sh"
52699
- return "2.113.5";
52717
+ return "2.113.7";
52700
52718
  }
52701
52719
  getDDICReferences() {
52702
52720
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.113.5",
3
+ "version": "2.113.7",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.113.5",
41
+ "@abaplint/core": "^2.113.7",
42
42
  "@types/chai": "^4.3.19",
43
43
  "@types/glob": "^8.1.0",
44
44
  "@types/minimist": "^1.2.5",
@@ -47,7 +47,7 @@
47
47
  "@types/progress": "^2.0.7",
48
48
  "chai": "^4.5.0",
49
49
  "chalk": "^5.3.0",
50
- "eslint": "^9.9.1",
50
+ "eslint": "^9.10.0",
51
51
  "glob": "^7.2.3",
52
52
  "json5": "^2.2.3",
53
53
  "memfs": "^4.11.1",