@abaplint/core 2.113.84 → 2.113.86

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.
@@ -13,7 +13,7 @@ class Assign {
13
13
  const decimals = (0, combi_1.seq)("DECIMALS", expressions_1.Source);
14
14
  const casting = (0, combi_1.seq)("CASTING", (0, combi_1.opt)((0, combi_1.alt)(like, handle, (0, combi_1.per)(type, decimals))));
15
15
  const obsoleteType = (0, combi_1.seq)("TYPE", expressions_1.Source, (0, combi_1.optPrio)(decimals));
16
- const ret = (0, combi_1.seq)("ASSIGN", (0, combi_1.opt)((0, combi_1.seq)(expressions_1.Target, "INCREMENT")), expressions_1.AssignSource, "TO", expressions_1.FSTarget, (0, combi_1.opt)((0, combi_1.altPrio)(casting, obsoleteType)), (0, combi_1.opt)(range), (0, combi_1.opt)((0, combi_1.ver)(version_1.Version.v757, "ELSE UNASSIGN")));
16
+ const ret = (0, combi_1.seq)("ASSIGN", (0, combi_1.opt)((0, combi_1.seq)(expressions_1.Target, "INCREMENT")), expressions_1.AssignSource, "TO", expressions_1.FSTarget, (0, combi_1.opt)((0, combi_1.altPrio)(casting, obsoleteType, decimals)), (0, combi_1.opt)(range), (0, combi_1.opt)((0, combi_1.ver)(version_1.Version.v757, "ELSE UNASSIGN")));
17
17
  return ret;
18
18
  }
19
19
  }
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class CallOLE {
8
8
  getMatcher() {
9
9
  const rc = (0, combi_1.seq)("=", expressions_1.Target);
10
- const ret = (0, combi_1.seq)("CALL METHOD OF", expressions_1.Source, expressions_1.Source, (0, combi_1.opt)(rc), (0, combi_1.opt)("NO FLUSH"), (0, combi_1.opt)("QUEUEONLY"), (0, combi_1.opt)(expressions_1.OLEExporting));
10
+ const ret = (0, combi_1.seq)("CALL METHOD OF", expressions_1.Source, expressions_1.Source, (0, combi_1.opt)(rc), (0, combi_1.opt)("NO FLUSH"), (0, combi_1.opt)("QUEUE-ONLY"), (0, combi_1.opt)(expressions_1.OLEExporting));
11
11
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
12
  }
13
13
  }
@@ -4,9 +4,12 @@ exports.Field = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
6
  const version_1 = require("../../../version");
7
+ const tokens_1 = require("../../1_lexer/tokens");
7
8
  class Field {
8
9
  getMatcher() {
9
- const ret = (0, combi_1.seq)("FIELD", expressions_1.FieldChain, (0, combi_1.opt)((0, combi_1.seq)("MODULE", expressions_1.FormName, (0, combi_1.opt)((0, combi_1.alt)("ON INPUT", "ON REQUEST")))));
10
+ const module = (0, combi_1.seq)("MODULE", expressions_1.FormName, (0, combi_1.opt)((0, combi_1.alt)("ON INPUT", "ON REQUEST")));
11
+ const values = (0, combi_1.seq)("VALUES", (0, combi_1.tok)(tokens_1.WParenLeft), "BETWEEN", expressions_1.Constant, "AND", expressions_1.Constant, (0, combi_1.tok)(tokens_1.ParenRightW));
12
+ const ret = (0, combi_1.seq)("FIELD", expressions_1.FieldChain, (0, combi_1.opt)((0, combi_1.alt)(module, values)));
10
13
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
11
14
  }
12
15
  }
@@ -6,7 +6,7 @@ const expressions_1 = require("../expressions");
6
6
  const version_1 = require("../../../version");
7
7
  class GetProperty {
8
8
  getMatcher() {
9
- const ret = (0, combi_1.seq)("GET PROPERTY OF", expressions_1.FieldSub, expressions_1.Source, "=", expressions_1.Source, (0, combi_1.opt)("NO FLUSH"), (0, combi_1.opt)("QUEUEONLY"), (0, combi_1.opt)(expressions_1.OLEExporting));
9
+ const ret = (0, combi_1.seq)("GET PROPERTY OF", expressions_1.FieldSub, expressions_1.Source, "=", expressions_1.Source, (0, combi_1.opt)("NO FLUSH"), (0, combi_1.opt)("QUEUE-ONLY"), (0, combi_1.opt)(expressions_1.OLEExporting));
10
10
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
11
11
  }
12
12
  }
@@ -8,7 +8,7 @@ class ModifyLine {
8
8
  getMatcher() {
9
9
  const onOff = (0, combi_1.alt)("ON", "OFF");
10
10
  const eq = (0, combi_1.seq)("=", expressions_1.Source);
11
- const form = (0, combi_1.seq)((0, combi_1.alt)("INVERSE", "INPUT", "COLOR"), (0, combi_1.alt)(eq, onOff));
11
+ const form = (0, combi_1.seq)((0, combi_1.alt)("INVERSE", "INPUT", "COLOR", "HOTSPOT"), (0, combi_1.alt)(eq, onOff));
12
12
  const from = (0, combi_1.seq)("FROM", expressions_1.Source);
13
13
  const value = (0, combi_1.seq)("FIELD VALUE", (0, combi_1.plus)((0, combi_1.seq)(expressions_1.Source, (0, combi_1.optPrio)(from))));
14
14
  const format = (0, combi_1.seq)("FIELD FORMAT", expressions_1.Source, (0, combi_1.opt)(form));
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Module {
8
8
  getMatcher() {
9
9
  const sw = (0, combi_1.seq)("SWITCH", expressions_1.NamespaceSimpleName);
10
- const ret = (0, combi_1.seq)("MODULE", expressions_1.FormName, (0, combi_1.opt)((0, combi_1.alt)("INPUT", "OUTPUT", "ON CHAIN-REQUEST", "ON CHAIN-INPUT", sw)));
10
+ const ret = (0, combi_1.seq)("MODULE", expressions_1.FormName, (0, combi_1.opt)((0, combi_1.alt)("INPUT", "OUTPUT", "ON CHAIN-REQUEST", "ON CHAIN-INPUT", "AT EXIT-COMMAND", sw)));
11
11
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
12
  }
13
13
  }
@@ -10,7 +10,8 @@ class ScrollList {
10
10
  const line = (0, combi_1.seq)("LINE", expressions_1.Source);
11
11
  const column = (0, combi_1.seq)("TO COLUMN", expressions_1.Source);
12
12
  const to = (0, combi_1.seq)("TO", (0, combi_1.alt)("FIRST PAGE", "LAST PAGE", (0, combi_1.seq)("PAGE", expressions_1.Source)));
13
- const ret = (0, combi_1.seq)("SCROLL LIST", (0, combi_1.per)(index, (0, combi_1.alt)(to, "BACKWARD", "FORWARD"), (0, combi_1.seq)((0, combi_1.alt)("LEFT", "RIGHT"), (0, combi_1.opt)((0, combi_1.seq)("BY", expressions_1.Source, "PLACES"))), column, line));
13
+ const pages = (0, combi_1.seq)(expressions_1.Source, "PAGES");
14
+ const ret = (0, combi_1.seq)("SCROLL LIST", (0, combi_1.per)(index, (0, combi_1.seq)((0, combi_1.alt)(to, "BACKWARD", "FORWARD"), (0, combi_1.opt)(pages)), (0, combi_1.seq)((0, combi_1.alt)("LEFT", "RIGHT"), (0, combi_1.opt)((0, combi_1.seq)("BY", expressions_1.Source, "PLACES"))), column, line));
14
15
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
15
16
  }
16
17
  }
@@ -35,12 +35,11 @@ class Loop {
35
35
  const message = "No source type determined";
36
36
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
37
37
  }
38
- return;
39
38
  }
40
39
  else if (sourceType instanceof basic_1.UnknownType) {
41
40
  const message = "Loop, not a table type, " + sourceType.getError();
42
41
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
43
- return;
42
+ sourceType = new basic_1.VoidType("Loop, not a table type");
44
43
  }
45
44
  else if (sourceType instanceof basic_1.TableType
46
45
  && target === undefined
@@ -48,7 +47,6 @@ class Loop {
48
47
  && node.getChildren().length === 4) {
49
48
  const message = "Loop, no header line";
50
49
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
51
- return;
52
50
  }
53
51
  else if (!(sourceType instanceof basic_1.TableType)
54
52
  && !(sourceType instanceof basic_1.AnyType)
@@ -57,14 +55,12 @@ class Loop {
57
55
  && concat.startsWith("LOOP AT GROUP ") === false) {
58
56
  const message = "Loop, not a table type";
59
57
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
60
- return;
61
58
  }
62
59
  else if (loopTarget === undefined
63
60
  && sourceType instanceof basic_1.TableType
64
61
  && sourceType.isWithHeader() === false) {
65
62
  const message = "Loop, no header";
66
63
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
67
- return;
68
64
  }
69
65
  const targetConcat = loopTarget === null || loopTarget === void 0 ? void 0 : loopTarget.concatTokens().toUpperCase();
70
66
  if (sourceType instanceof basic_1.TableType) {
@@ -53,7 +53,10 @@ class ABAPObject extends _abstract_object_1.AbstractObject {
53
53
  }
54
54
  // uri fallback,
55
55
  for (const file of this.getABAPFiles()) {
56
- if (file.getFilename().endsWith(".abap")) {
56
+ if (file.getFilename().includes(".prog.screen_")) {
57
+ continue;
58
+ }
59
+ else if (file.getFilename().endsWith(".abap")) {
57
60
  return file;
58
61
  }
59
62
  }
@@ -52,6 +52,7 @@ class Indent {
52
52
  || type instanceof Statements.EndModule
53
53
  || type instanceof Statements.EndSelect
54
54
  || type instanceof Statements.EndMethod
55
+ || type instanceof Statements.EndChain
55
56
  || type instanceof Statements.EndAt
56
57
  || type instanceof Statements.Else
57
58
  || type instanceof Statements.EndExec
@@ -160,6 +161,7 @@ class Indent {
160
161
  || type instanceof Statements.Else
161
162
  || type instanceof Statements.ElseIf
162
163
  || type instanceof Statements.MethodImplementation
164
+ || type instanceof Statements.Chain
163
165
  || type instanceof Statements.TestInjection
164
166
  || type instanceof Statements.TestSeam
165
167
  || (this.options.selectionScreenBlockIndentation === true
@@ -67,7 +67,7 @@ class Registry {
67
67
  }
68
68
  static abaplintVersion() {
69
69
  // magic, see build script "version.sh"
70
- return "2.113.84";
70
+ return "2.113.86";
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.113.84",
3
+ "version": "2.113.86",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",
@@ -53,7 +53,7 @@
53
53
  "@microsoft/api-extractor": "^7.48.1",
54
54
  "@types/chai": "^4.3.20",
55
55
  "@types/mocha": "^10.0.10",
56
- "@types/node": "^22.10.2",
56
+ "@types/node": "^22.10.5",
57
57
  "chai": "^4.5.0",
58
58
  "eslint": "^9.17.0",
59
59
  "mocha": "^11.0.1",