@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.
- package/build/src/abap/2_statements/statements/assign.js +1 -1
- package/build/src/abap/2_statements/statements/call_ole.js +1 -1
- package/build/src/abap/2_statements/statements/field.js +4 -1
- package/build/src/abap/2_statements/statements/get_property.js +1 -1
- package/build/src/abap/2_statements/statements/modify_line.js +1 -1
- package/build/src/abap/2_statements/statements/module.js +1 -1
- package/build/src/abap/2_statements/statements/scroll_list.js +2 -1
- package/build/src/abap/5_syntax/statements/loop.js +1 -5
- package/build/src/objects/_abap_object.js +4 -1
- package/build/src/pretty_printer/indent.js +2 -0
- package/build/src/registry.js +1 -1
- package/package.json +2 -2
|
@@ -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)("
|
|
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
|
|
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)("
|
|
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
|
|
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
|
-
|
|
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().
|
|
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
|
package/build/src/registry.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.113.
|
|
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.
|
|
56
|
+
"@types/node": "^22.10.5",
|
|
57
57
|
"chai": "^4.5.0",
|
|
58
58
|
"eslint": "^9.17.0",
|
|
59
59
|
"mocha": "^11.0.1",
|