@abaplint/core 2.102.68 → 2.102.70

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 (46) hide show
  1. package/build/abaplint.d.ts +10 -10
  2. package/build/src/abap/1_lexer/tokens/bracket_left.js +1 -19
  3. package/build/src/abap/1_lexer/tokens/bracket_leftw.js +11 -0
  4. package/build/src/abap/1_lexer/tokens/bracket_right.js +1 -19
  5. package/build/src/abap/1_lexer/tokens/bracket_rightw.js +11 -0
  6. package/build/src/abap/1_lexer/tokens/dash.js +1 -19
  7. package/build/src/abap/1_lexer/tokens/dashw.js +11 -0
  8. package/build/src/abap/1_lexer/tokens/index.js +34 -6
  9. package/build/src/abap/1_lexer/tokens/instance_arrow.js +1 -19
  10. package/build/src/abap/1_lexer/tokens/instance_arroww.js +11 -0
  11. package/build/src/abap/1_lexer/tokens/paren_left.js +1 -19
  12. package/build/src/abap/1_lexer/tokens/paren_leftw.js +11 -0
  13. package/build/src/abap/1_lexer/tokens/paren_right.js +1 -19
  14. package/build/src/abap/1_lexer/tokens/paren_rightw.js +11 -0
  15. package/build/src/abap/1_lexer/tokens/plus.js +1 -19
  16. package/build/src/abap/1_lexer/tokens/plusw.js +11 -0
  17. package/build/src/abap/1_lexer/tokens/static_arrow.js +1 -19
  18. package/build/src/abap/1_lexer/tokens/static_arroww.js +11 -0
  19. package/build/src/abap/1_lexer/tokens/string.js +1 -13
  20. package/build/src/abap/1_lexer/tokens/string_template.js +8 -0
  21. package/build/src/abap/1_lexer/tokens/string_template_begin.js +8 -0
  22. package/build/src/abap/1_lexer/tokens/string_template_end.js +8 -0
  23. package/build/src/abap/1_lexer/tokens/string_template_middle.js +8 -0
  24. package/build/src/abap/1_lexer/tokens/wbracket_left.js +11 -0
  25. package/build/src/abap/1_lexer/tokens/wbracket_leftw.js +11 -0
  26. package/build/src/abap/1_lexer/tokens/wbracket_right.js +11 -0
  27. package/build/src/abap/1_lexer/tokens/wbracket_rightw.js +11 -0
  28. package/build/src/abap/1_lexer/tokens/wdash.js +11 -0
  29. package/build/src/abap/1_lexer/tokens/wdashw.js +11 -0
  30. package/build/src/abap/1_lexer/tokens/winstance_arrow.js +11 -0
  31. package/build/src/abap/1_lexer/tokens/winstance_arroww.js +11 -0
  32. package/build/src/abap/1_lexer/tokens/wparen_left.js +11 -0
  33. package/build/src/abap/1_lexer/tokens/wparen_leftw.js +11 -0
  34. package/build/src/abap/1_lexer/tokens/wparen_right.js +11 -0
  35. package/build/src/abap/1_lexer/tokens/wparen_rightw.js +11 -0
  36. package/build/src/abap/1_lexer/tokens/wplus.js +11 -0
  37. package/build/src/abap/1_lexer/tokens/wplusw.js +11 -0
  38. package/build/src/abap/1_lexer/tokens/wstatic_arrow.js +11 -0
  39. package/build/src/abap/1_lexer/tokens/wstatic_arroww.js +11 -0
  40. package/build/src/abap/2_statements/expressions/sql_into_list.js +3 -2
  41. package/build/src/abap/nodes/statement_node.js +12 -8
  42. package/build/src/abap/types/class_definition.js +4 -1
  43. package/build/src/abap/types/interface_definition.js +17 -5
  44. package/build/src/registry.js +1 -1
  45. package/build/src/rules/unused_variables.js +8 -0
  46. package/package.json +3 -3
@@ -6326,13 +6326,6 @@ declare namespace Tokens {
6326
6326
  WBracketRight,
6327
6327
  BracketRightW,
6328
6328
  WBracketRightW,
6329
- Colon,
6330
- Comment_2 as Comment,
6331
- Dash,
6332
- WDash,
6333
- DashW,
6334
- WDashW,
6335
- Identifier_2 as Identifier,
6336
6329
  InstanceArrow,
6337
6330
  WInstanceArrow,
6338
6331
  InstanceArrowW,
@@ -6345,12 +6338,14 @@ declare namespace Tokens {
6345
6338
  WParenRight,
6346
6339
  ParenRightW,
6347
6340
  WParenRightW,
6341
+ Dash,
6342
+ WDash,
6343
+ DashW,
6344
+ WDashW,
6348
6345
  Plus,
6349
6346
  WPlus,
6350
6347
  PlusW,
6351
6348
  WPlusW,
6352
- Pragma,
6353
- Punctuation,
6354
6349
  StaticArrow,
6355
6350
  WStaticArrow,
6356
6351
  StaticArrowW,
@@ -6359,7 +6354,12 @@ declare namespace Tokens {
6359
6354
  StringTemplate_2 as StringTemplate,
6360
6355
  StringTemplateBegin,
6361
6356
  StringTemplateEnd,
6362
- StringTemplateMiddle
6357
+ StringTemplateMiddle,
6358
+ Colon,
6359
+ Comment_2 as Comment,
6360
+ Identifier_2 as Identifier,
6361
+ Pragma,
6362
+ Punctuation
6363
6363
  }
6364
6364
  }
6365
6365
  export { Tokens }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WBracketLeftW = exports.BracketLeftW = exports.WBracketLeft = exports.BracketLeft = void 0;
3
+ exports.BracketLeft = void 0;
4
4
  const abstract_token_1 = require("./abstract_token");
5
5
  class BracketLeft extends abstract_token_1.AbstractToken {
6
6
  static railroad() {
@@ -8,22 +8,4 @@ class BracketLeft extends abstract_token_1.AbstractToken {
8
8
  }
9
9
  }
10
10
  exports.BracketLeft = BracketLeft;
11
- class WBracketLeft extends abstract_token_1.AbstractToken {
12
- static railroad() {
13
- return " [";
14
- }
15
- }
16
- exports.WBracketLeft = WBracketLeft;
17
- class BracketLeftW extends abstract_token_1.AbstractToken {
18
- static railroad() {
19
- return "[ ";
20
- }
21
- }
22
- exports.BracketLeftW = BracketLeftW;
23
- class WBracketLeftW extends abstract_token_1.AbstractToken {
24
- static railroad() {
25
- return " [ ";
26
- }
27
- }
28
- exports.WBracketLeftW = WBracketLeftW;
29
11
  //# sourceMappingURL=bracket_left.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BracketLeftW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class BracketLeftW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return "[ ";
8
+ }
9
+ }
10
+ exports.BracketLeftW = BracketLeftW;
11
+ //# sourceMappingURL=bracket_leftw.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WBracketRightW = exports.BracketRightW = exports.WBracketRight = exports.BracketRight = void 0;
3
+ exports.BracketRight = void 0;
4
4
  const abstract_token_1 = require("./abstract_token");
5
5
  class BracketRight extends abstract_token_1.AbstractToken {
6
6
  static railroad() {
@@ -8,22 +8,4 @@ class BracketRight extends abstract_token_1.AbstractToken {
8
8
  }
9
9
  }
10
10
  exports.BracketRight = BracketRight;
11
- class WBracketRight extends abstract_token_1.AbstractToken {
12
- static railroad() {
13
- return " ]";
14
- }
15
- }
16
- exports.WBracketRight = WBracketRight;
17
- class BracketRightW extends abstract_token_1.AbstractToken {
18
- static railroad() {
19
- return "] ";
20
- }
21
- }
22
- exports.BracketRightW = BracketRightW;
23
- class WBracketRightW extends abstract_token_1.AbstractToken {
24
- static railroad() {
25
- return " ] ";
26
- }
27
- }
28
- exports.WBracketRightW = WBracketRightW;
29
11
  //# sourceMappingURL=bracket_right.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BracketRightW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class BracketRightW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return "] ";
8
+ }
9
+ }
10
+ exports.BracketRightW = BracketRightW;
11
+ //# sourceMappingURL=bracket_rightw.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WDashW = exports.DashW = exports.WDash = exports.Dash = void 0;
3
+ exports.Dash = void 0;
4
4
  const abstract_token_1 = require("./abstract_token");
5
5
  class Dash extends abstract_token_1.AbstractToken {
6
6
  static railroad() {
@@ -8,22 +8,4 @@ class Dash extends abstract_token_1.AbstractToken {
8
8
  }
9
9
  }
10
10
  exports.Dash = Dash;
11
- class WDash extends abstract_token_1.AbstractToken {
12
- static railroad() {
13
- return " -";
14
- }
15
- }
16
- exports.WDash = WDash;
17
- class DashW extends abstract_token_1.AbstractToken {
18
- static railroad() {
19
- return "- ";
20
- }
21
- }
22
- exports.DashW = DashW;
23
- class WDashW extends abstract_token_1.AbstractToken {
24
- static railroad() {
25
- return " - ";
26
- }
27
- }
28
- exports.WDashW = WDashW;
29
11
  //# sourceMappingURL=dash.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DashW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class DashW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return "- ";
8
+ }
9
+ }
10
+ exports.DashW = DashW;
11
+ //# sourceMappingURL=dashw.js.map
@@ -19,17 +19,45 @@ __exportStar(require("./atw"), exports);
19
19
  __exportStar(require("./wat"), exports);
20
20
  __exportStar(require("./watw"), exports);
21
21
  __exportStar(require("./bracket_left"), exports);
22
+ __exportStar(require("./wbracket_left"), exports);
23
+ __exportStar(require("./bracket_leftw"), exports);
24
+ __exportStar(require("./wbracket_leftw"), exports);
22
25
  __exportStar(require("./bracket_right"), exports);
23
- __exportStar(require("./colon"), exports);
24
- __exportStar(require("./comment"), exports);
25
- __exportStar(require("./dash"), exports);
26
- __exportStar(require("./identifier"), exports);
26
+ __exportStar(require("./wbracket_right"), exports);
27
+ __exportStar(require("./bracket_rightw"), exports);
28
+ __exportStar(require("./wbracket_rightw"), exports);
27
29
  __exportStar(require("./instance_arrow"), exports);
30
+ __exportStar(require("./winstance_arrow"), exports);
31
+ __exportStar(require("./instance_arroww"), exports);
32
+ __exportStar(require("./winstance_arroww"), exports);
28
33
  __exportStar(require("./paren_left"), exports);
34
+ __exportStar(require("./wparen_left"), exports);
35
+ __exportStar(require("./paren_leftw"), exports);
36
+ __exportStar(require("./wparen_leftw"), exports);
29
37
  __exportStar(require("./paren_right"), exports);
38
+ __exportStar(require("./wparen_right"), exports);
39
+ __exportStar(require("./paren_rightw"), exports);
40
+ __exportStar(require("./wparen_rightw"), exports);
41
+ __exportStar(require("./dash"), exports);
42
+ __exportStar(require("./wdash"), exports);
43
+ __exportStar(require("./dashw"), exports);
44
+ __exportStar(require("./wdashw"), exports);
30
45
  __exportStar(require("./plus"), exports);
31
- __exportStar(require("./pragma"), exports);
32
- __exportStar(require("./punctuation"), exports);
46
+ __exportStar(require("./wplus"), exports);
47
+ __exportStar(require("./plusw"), exports);
48
+ __exportStar(require("./wplusw"), exports);
33
49
  __exportStar(require("./static_arrow"), exports);
50
+ __exportStar(require("./wstatic_arrow"), exports);
51
+ __exportStar(require("./static_arroww"), exports);
52
+ __exportStar(require("./wstatic_arroww"), exports);
34
53
  __exportStar(require("./string"), exports);
54
+ __exportStar(require("./string_template"), exports);
55
+ __exportStar(require("./string_template_begin"), exports);
56
+ __exportStar(require("./string_template_end"), exports);
57
+ __exportStar(require("./string_template_middle"), exports);
58
+ __exportStar(require("./colon"), exports);
59
+ __exportStar(require("./comment"), exports);
60
+ __exportStar(require("./identifier"), exports);
61
+ __exportStar(require("./pragma"), exports);
62
+ __exportStar(require("./punctuation"), exports);
35
63
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WInstanceArrowW = exports.InstanceArrowW = exports.WInstanceArrow = exports.InstanceArrow = void 0;
3
+ exports.InstanceArrow = void 0;
4
4
  const abstract_token_1 = require("./abstract_token");
5
5
  class InstanceArrow extends abstract_token_1.AbstractToken {
6
6
  static railroad() {
@@ -8,22 +8,4 @@ class InstanceArrow extends abstract_token_1.AbstractToken {
8
8
  }
9
9
  }
10
10
  exports.InstanceArrow = InstanceArrow;
11
- class WInstanceArrow extends abstract_token_1.AbstractToken {
12
- static railroad() {
13
- return " ->";
14
- }
15
- }
16
- exports.WInstanceArrow = WInstanceArrow;
17
- class InstanceArrowW extends abstract_token_1.AbstractToken {
18
- static railroad() {
19
- return "-> ";
20
- }
21
- }
22
- exports.InstanceArrowW = InstanceArrowW;
23
- class WInstanceArrowW extends abstract_token_1.AbstractToken {
24
- static railroad() {
25
- return " -> ";
26
- }
27
- }
28
- exports.WInstanceArrowW = WInstanceArrowW;
29
11
  //# sourceMappingURL=instance_arrow.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InstanceArrowW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class InstanceArrowW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return "-> ";
8
+ }
9
+ }
10
+ exports.InstanceArrowW = InstanceArrowW;
11
+ //# sourceMappingURL=instance_arroww.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WParenLeftW = exports.ParenLeftW = exports.WParenLeft = exports.ParenLeft = void 0;
3
+ exports.ParenLeft = void 0;
4
4
  const abstract_token_1 = require("./abstract_token");
5
5
  class ParenLeft extends abstract_token_1.AbstractToken {
6
6
  static railroad() {
@@ -8,22 +8,4 @@ class ParenLeft extends abstract_token_1.AbstractToken {
8
8
  }
9
9
  }
10
10
  exports.ParenLeft = ParenLeft;
11
- class WParenLeft extends abstract_token_1.AbstractToken {
12
- static railroad() {
13
- return " (";
14
- }
15
- }
16
- exports.WParenLeft = WParenLeft;
17
- class ParenLeftW extends abstract_token_1.AbstractToken {
18
- static railroad() {
19
- return "( ";
20
- }
21
- }
22
- exports.ParenLeftW = ParenLeftW;
23
- class WParenLeftW extends abstract_token_1.AbstractToken {
24
- static railroad() {
25
- return " ( ";
26
- }
27
- }
28
- exports.WParenLeftW = WParenLeftW;
29
11
  //# sourceMappingURL=paren_left.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParenLeftW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class ParenLeftW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return "( ";
8
+ }
9
+ }
10
+ exports.ParenLeftW = ParenLeftW;
11
+ //# sourceMappingURL=paren_leftw.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WParenRightW = exports.ParenRightW = exports.WParenRight = exports.ParenRight = void 0;
3
+ exports.ParenRight = void 0;
4
4
  const abstract_token_1 = require("./abstract_token");
5
5
  class ParenRight extends abstract_token_1.AbstractToken {
6
6
  static railroad() {
@@ -8,22 +8,4 @@ class ParenRight extends abstract_token_1.AbstractToken {
8
8
  }
9
9
  }
10
10
  exports.ParenRight = ParenRight;
11
- class WParenRight extends abstract_token_1.AbstractToken {
12
- static railroad() {
13
- return " )";
14
- }
15
- }
16
- exports.WParenRight = WParenRight;
17
- class ParenRightW extends abstract_token_1.AbstractToken {
18
- static railroad() {
19
- return ") ";
20
- }
21
- }
22
- exports.ParenRightW = ParenRightW;
23
- class WParenRightW extends abstract_token_1.AbstractToken {
24
- static railroad() {
25
- return " ) ";
26
- }
27
- }
28
- exports.WParenRightW = WParenRightW;
29
11
  //# sourceMappingURL=paren_right.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParenRightW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class ParenRightW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return ") ";
8
+ }
9
+ }
10
+ exports.ParenRightW = ParenRightW;
11
+ //# sourceMappingURL=paren_rightw.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WPlusW = exports.PlusW = exports.WPlus = exports.Plus = void 0;
3
+ exports.Plus = void 0;
4
4
  const abstract_token_1 = require("./abstract_token");
5
5
  class Plus extends abstract_token_1.AbstractToken {
6
6
  static railroad() {
@@ -8,22 +8,4 @@ class Plus extends abstract_token_1.AbstractToken {
8
8
  }
9
9
  }
10
10
  exports.Plus = Plus;
11
- class WPlus extends abstract_token_1.AbstractToken {
12
- static railroad() {
13
- return " +";
14
- }
15
- }
16
- exports.WPlus = WPlus;
17
- class PlusW extends abstract_token_1.AbstractToken {
18
- static railroad() {
19
- return "+ ";
20
- }
21
- }
22
- exports.PlusW = PlusW;
23
- class WPlusW extends abstract_token_1.AbstractToken {
24
- static railroad() {
25
- return " + ";
26
- }
27
- }
28
- exports.WPlusW = WPlusW;
29
11
  //# sourceMappingURL=plus.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlusW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class PlusW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return "+ ";
8
+ }
9
+ }
10
+ exports.PlusW = PlusW;
11
+ //# sourceMappingURL=plusw.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WStaticArrowW = exports.StaticArrowW = exports.WStaticArrow = exports.StaticArrow = void 0;
3
+ exports.StaticArrow = void 0;
4
4
  const abstract_token_1 = require("./abstract_token");
5
5
  class StaticArrow extends abstract_token_1.AbstractToken {
6
6
  static railroad() {
@@ -8,22 +8,4 @@ class StaticArrow extends abstract_token_1.AbstractToken {
8
8
  }
9
9
  }
10
10
  exports.StaticArrow = StaticArrow;
11
- class WStaticArrow extends abstract_token_1.AbstractToken {
12
- static railroad() {
13
- return " =>";
14
- }
15
- }
16
- exports.WStaticArrow = WStaticArrow;
17
- class StaticArrowW extends abstract_token_1.AbstractToken {
18
- static railroad() {
19
- return "=> ";
20
- }
21
- }
22
- exports.StaticArrowW = StaticArrowW;
23
- class WStaticArrowW extends abstract_token_1.AbstractToken {
24
- static railroad() {
25
- return " => ";
26
- }
27
- }
28
- exports.WStaticArrowW = WStaticArrowW;
29
11
  //# sourceMappingURL=static_arrow.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StaticArrowW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class StaticArrowW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return "=> ";
8
+ }
9
+ }
10
+ exports.StaticArrowW = StaticArrowW;
11
+ //# sourceMappingURL=static_arroww.js.map
@@ -1,20 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StringTemplateMiddle = exports.StringTemplateEnd = exports.StringTemplateBegin = exports.StringTemplate = exports.StringToken = void 0;
3
+ exports.StringToken = void 0;
4
4
  const abstract_token_1 = require("./abstract_token");
5
5
  class StringToken extends abstract_token_1.AbstractToken {
6
6
  }
7
7
  exports.StringToken = StringToken;
8
- class StringTemplate extends abstract_token_1.AbstractToken {
9
- }
10
- exports.StringTemplate = StringTemplate;
11
- class StringTemplateBegin extends abstract_token_1.AbstractToken {
12
- }
13
- exports.StringTemplateBegin = StringTemplateBegin;
14
- class StringTemplateEnd extends abstract_token_1.AbstractToken {
15
- }
16
- exports.StringTemplateEnd = StringTemplateEnd;
17
- class StringTemplateMiddle extends abstract_token_1.AbstractToken {
18
- }
19
- exports.StringTemplateMiddle = StringTemplateMiddle;
20
8
  //# sourceMappingURL=string.js.map
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringTemplate = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class StringTemplate extends abstract_token_1.AbstractToken {
6
+ }
7
+ exports.StringTemplate = StringTemplate;
8
+ //# sourceMappingURL=string_template.js.map
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringTemplateBegin = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class StringTemplateBegin extends abstract_token_1.AbstractToken {
6
+ }
7
+ exports.StringTemplateBegin = StringTemplateBegin;
8
+ //# sourceMappingURL=string_template_begin.js.map
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringTemplateEnd = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class StringTemplateEnd extends abstract_token_1.AbstractToken {
6
+ }
7
+ exports.StringTemplateEnd = StringTemplateEnd;
8
+ //# sourceMappingURL=string_template_end.js.map
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringTemplateMiddle = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class StringTemplateMiddle extends abstract_token_1.AbstractToken {
6
+ }
7
+ exports.StringTemplateMiddle = StringTemplateMiddle;
8
+ //# sourceMappingURL=string_template_middle.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WBracketLeft = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WBracketLeft extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " [";
8
+ }
9
+ }
10
+ exports.WBracketLeft = WBracketLeft;
11
+ //# sourceMappingURL=wbracket_left.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WBracketLeftW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WBracketLeftW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " [ ";
8
+ }
9
+ }
10
+ exports.WBracketLeftW = WBracketLeftW;
11
+ //# sourceMappingURL=wbracket_leftw.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WBracketRight = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WBracketRight extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " ]";
8
+ }
9
+ }
10
+ exports.WBracketRight = WBracketRight;
11
+ //# sourceMappingURL=wbracket_right.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WBracketRightW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WBracketRightW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " ] ";
8
+ }
9
+ }
10
+ exports.WBracketRightW = WBracketRightW;
11
+ //# sourceMappingURL=wbracket_rightw.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WDash = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WDash extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " -";
8
+ }
9
+ }
10
+ exports.WDash = WDash;
11
+ //# sourceMappingURL=wdash.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WDashW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WDashW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " - ";
8
+ }
9
+ }
10
+ exports.WDashW = WDashW;
11
+ //# sourceMappingURL=wdashw.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WInstanceArrow = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WInstanceArrow extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " ->";
8
+ }
9
+ }
10
+ exports.WInstanceArrow = WInstanceArrow;
11
+ //# sourceMappingURL=winstance_arrow.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WInstanceArrowW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WInstanceArrowW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " -> ";
8
+ }
9
+ }
10
+ exports.WInstanceArrowW = WInstanceArrowW;
11
+ //# sourceMappingURL=winstance_arroww.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WParenLeft = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WParenLeft extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " (";
8
+ }
9
+ }
10
+ exports.WParenLeft = WParenLeft;
11
+ //# sourceMappingURL=wparen_left.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WParenLeftW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WParenLeftW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " ( ";
8
+ }
9
+ }
10
+ exports.WParenLeftW = WParenLeftW;
11
+ //# sourceMappingURL=wparen_leftw.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WParenRight = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WParenRight extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " )";
8
+ }
9
+ }
10
+ exports.WParenRight = WParenRight;
11
+ //# sourceMappingURL=wparen_right.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WParenRightW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WParenRightW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " ) ";
8
+ }
9
+ }
10
+ exports.WParenRightW = WParenRightW;
11
+ //# sourceMappingURL=wparen_rightw.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WPlus = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WPlus extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " +";
8
+ }
9
+ }
10
+ exports.WPlus = WPlus;
11
+ //# sourceMappingURL=wplus.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WPlusW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WPlusW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " + ";
8
+ }
9
+ }
10
+ exports.WPlusW = WPlusW;
11
+ //# sourceMappingURL=wplusw.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WStaticArrow = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WStaticArrow extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " =>";
8
+ }
9
+ }
10
+ exports.WStaticArrow = WStaticArrow;
11
+ //# sourceMappingURL=wstatic_arrow.js.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WStaticArrowW = void 0;
4
+ const abstract_token_1 = require("./abstract_token");
5
+ class WStaticArrowW extends abstract_token_1.AbstractToken {
6
+ static railroad() {
7
+ return " => ";
8
+ }
9
+ }
10
+ exports.WStaticArrowW = WStaticArrowW;
11
+ //# sourceMappingURL=wstatic_arroww.js.map
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SQLIntoList = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const _1 = require(".");
6
- const paren_left_1 = require("../../1_lexer/tokens/paren_left");
6
+ const wparen_leftw_1 = require("../../1_lexer/tokens/wparen_leftw");
7
+ const wparen_left_1 = require("../../1_lexer/tokens/wparen_left");
7
8
  class SQLIntoList extends combi_1.Expression {
8
9
  getRunnable() {
9
- const intoList = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.tok)(paren_left_1.WParenLeft), (0, combi_1.tok)(paren_left_1.WParenLeftW)), (0, combi_1.starPrio)((0, combi_1.seq)(_1.SQLTarget, ",")), _1.SQLTarget, ")");
10
+ const intoList = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.tok)(wparen_left_1.WParenLeft), (0, combi_1.tok)(wparen_leftw_1.WParenLeftW)), (0, combi_1.starPrio)((0, combi_1.seq)(_1.SQLTarget, ",")), _1.SQLTarget, ")");
10
11
  return (0, combi_1.seq)("INTO", intoList);
11
12
  }
12
13
  }
@@ -7,6 +7,10 @@ const expression_node_1 = require("./expression_node");
7
7
  const comment_1 = require("../1_lexer/tokens/comment");
8
8
  const pragma_1 = require("../1_lexer/tokens/pragma");
9
9
  const string_1 = require("../1_lexer/tokens/string");
10
+ const string_template_middle_1 = require("../1_lexer/tokens/string_template_middle");
11
+ const string_template_end_1 = require("../1_lexer/tokens/string_template_end");
12
+ const string_template_begin_1 = require("../1_lexer/tokens/string_template_begin");
13
+ const string_template_1 = require("../1_lexer/tokens/string_template");
10
14
  class StatementNode extends _abstract_node_1.AbstractNode {
11
15
  constructor(statement, colon, pragmas) {
12
16
  super();
@@ -115,10 +119,10 @@ class StatementNode extends _abstract_node_1.AbstractNode {
115
119
  for (const token of this.getTokens()) {
116
120
  if (token instanceof comment_1.Comment
117
121
  || token instanceof string_1.StringToken
118
- || token instanceof string_1.StringTemplate
119
- || token instanceof string_1.StringTemplateBegin
120
- || token instanceof string_1.StringTemplateMiddle
121
- || token instanceof string_1.StringTemplateEnd) {
122
+ || token instanceof string_template_1.StringTemplate
123
+ || token instanceof string_template_begin_1.StringTemplateBegin
124
+ || token instanceof string_template_middle_1.StringTemplateMiddle
125
+ || token instanceof string_template_end_1.StringTemplateEnd) {
122
126
  continue;
123
127
  }
124
128
  if (str === "") {
@@ -251,10 +255,10 @@ class StatementNode extends _abstract_node_1.AbstractNode {
251
255
  for (const token of this.getTokens()) {
252
256
  if (token instanceof comment_1.Comment
253
257
  || token instanceof string_1.StringToken
254
- || token instanceof string_1.StringTemplate
255
- || token instanceof string_1.StringTemplateBegin
256
- || token instanceof string_1.StringTemplateMiddle
257
- || token instanceof string_1.StringTemplateEnd) {
258
+ || token instanceof string_template_1.StringTemplate
259
+ || token instanceof string_template_begin_1.StringTemplateBegin
260
+ || token instanceof string_template_middle_1.StringTemplateMiddle
261
+ || token instanceof string_template_end_1.StringTemplateEnd) {
258
262
  continue;
259
263
  }
260
264
  if (prev && token.getStr().toUpperCase() === second && (prev === null || prev === void 0 ? void 0 : prev.getStr().toUpperCase()) === first.toUpperCase()) {
@@ -115,11 +115,14 @@ class ClassDefinition extends _identifier_1.Identifier {
115
115
  }
116
116
  names.add(m.getName().toUpperCase());
117
117
  }
118
+ for (const a of (cdef === null || cdef === void 0 ? void 0 : cdef.getAliases().getAll()) || []) {
119
+ names.add(a.getName().toUpperCase());
120
+ }
118
121
  sup = cdef === null || cdef === void 0 ? void 0 : cdef.getSuperClass();
119
122
  }
120
123
  for (const m of this.getMethodDefinitions().getAll()) {
121
124
  if (names.has(m.getName().toUpperCase()) && m.isRedefinition() === false) {
122
- throw new Error(`Method ${m.getName().toUpperCase()} already declared in superclass`);
125
+ throw new Error(`${m.getName().toUpperCase()} already declared in superclass`);
123
126
  }
124
127
  }
125
128
  }
@@ -12,6 +12,9 @@ const event_definition_1 = require("./event_definition");
12
12
  const method_definitions_1 = require("./method_definitions");
13
13
  const aliases_1 = require("./aliases");
14
14
  const _reference_1 = require("../5_syntax/_reference");
15
+ const class_constant_1 = require("./class_constant");
16
+ const _typed_identifier_1 = require("./_typed_identifier");
17
+ const tokens_1 = require("../1_lexer/tokens");
15
18
  class InterfaceDefinition extends _identifier_1.Identifier {
16
19
  constructor(node, filename, scope) {
17
20
  if (!(node.get() instanceof Structures.Interface)) {
@@ -24,7 +27,7 @@ class InterfaceDefinition extends _identifier_1.Identifier {
24
27
  this.events = [];
25
28
  this.implementing = [];
26
29
  scope.push(_scope_type_1.ScopeType.Interface, name.getStr(), node.getFirstToken().getStart(), filename);
27
- this.parse(scope);
30
+ this.parse(scope, filename);
28
31
  scope.pop(node.getLastToken().getEnd());
29
32
  }
30
33
  getSuperClass() {
@@ -55,7 +58,7 @@ class InterfaceDefinition extends _identifier_1.Identifier {
55
58
  return this.methodDefinitions;
56
59
  }
57
60
  /////////////////
58
- parse(scope) {
61
+ parse(scope, filename) {
59
62
  var _a;
60
63
  // todo, proper sequencing, the statements should be processed line by line
61
64
  this.attributes = new class_attributes_1.Attributes(this.node, this.filename, scope);
@@ -66,9 +69,18 @@ class InterfaceDefinition extends _identifier_1.Identifier {
66
69
  const [objName, fieldName] = a.getComponent().split("~");
67
70
  const idef = scope.findInterfaceDefinition(objName);
68
71
  if (idef) {
69
- const found = idef.getTypeDefinitions().getByName(fieldName);
70
- if (found) {
71
- scope.addTypeNamed(a.getName(), found);
72
+ const foundType = idef.getTypeDefinitions().getByName(fieldName);
73
+ if (foundType) {
74
+ scope.addTypeNamed(a.getName(), foundType);
75
+ }
76
+ else {
77
+ const foundField = idef.getAttributes().findByName(fieldName);
78
+ if (foundField && foundField instanceof class_constant_1.ClassConstant) {
79
+ const token = new tokens_1.Identifier(a.getStart(), a.getName());
80
+ const id = new _typed_identifier_1.TypedIdentifier(token, filename, foundField.getType());
81
+ const constant = new class_constant_1.ClassConstant(id, visibility_1.Visibility.Public, foundField.getValue());
82
+ scope.addIdentifier(constant);
83
+ }
72
84
  }
73
85
  }
74
86
  }
@@ -65,7 +65,7 @@ class Registry {
65
65
  }
66
66
  static abaplintVersion() {
67
67
  // magic, see build script "version.sh"
68
- return "2.102.68";
68
+ return "2.102.70";
69
69
  }
70
70
  getDDICReferences() {
71
71
  return this.ddicReferences;
@@ -76,6 +76,14 @@ Errors found in INCLUDES are reported for the main program.`,
76
76
  tags: [_irule_1.RuleTag.Quickfix],
77
77
  pragma: "##NEEDED",
78
78
  pseudoComment: "EC NEEDED",
79
+ badExample: `DATA: BEGIN OF blah1,
80
+ test TYPE string,
81
+ test2 TYPE string,
82
+ END OF blah1.`,
83
+ goodExample: `DATA: BEGIN OF blah2 ##NEEDED,
84
+ test TYPE string,
85
+ test2 TYPE string,
86
+ END OF blah2.`,
79
87
  };
80
88
  }
81
89
  getConfig() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.102.68",
3
+ "version": "2.102.70",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",
@@ -50,12 +50,12 @@
50
50
  },
51
51
  "homepage": "https://abaplint.org",
52
52
  "devDependencies": {
53
- "@microsoft/api-extractor": "^7.38.1",
53
+ "@microsoft/api-extractor": "^7.38.2",
54
54
  "@types/chai": "^4.3.9",
55
55
  "@types/mocha": "^10.0.3",
56
56
  "@types/node": "^20.8.10",
57
57
  "chai": "^4.3.10",
58
- "eslint": "^8.52.0",
58
+ "eslint": "^8.53.0",
59
59
  "mocha": "^10.2.0",
60
60
  "c8": "^8.0.1",
61
61
  "source-map-support": "^0.5.21",