@abaplint/core 2.93.29 → 2.93.30
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/abaplint.d.ts +7 -2
- package/build/src/abap/2_statements/expressions/component_compare_single.js +14 -0
- package/build/src/abap/2_statements/expressions/index.js +3 -2
- package/build/src/abap/2_statements/expressions/loop_group_by_component.js +2 -2
- package/build/src/abap/5_syntax/expressions/loop_group_by.js +1 -1
- package/build/src/registry.js +1 -1
- package/build/src/rules/downport.js +8 -1
- package/package.json +2 -2
package/build/abaplint.d.ts
CHANGED
|
@@ -993,6 +993,10 @@ declare class ComponentCompareSimple extends Expression {
|
|
|
993
993
|
getRunnable(): IStatementRunnable;
|
|
994
994
|
}
|
|
995
995
|
|
|
996
|
+
declare class ComponentCompareSingle extends Expression {
|
|
997
|
+
getRunnable(): IStatementRunnable;
|
|
998
|
+
}
|
|
999
|
+
|
|
996
1000
|
declare class ComponentCond extends Expression {
|
|
997
1001
|
getRunnable(): IStatementRunnable;
|
|
998
1002
|
}
|
|
@@ -1821,6 +1825,7 @@ declare namespace Expressions {
|
|
|
1821
1825
|
ArithOperator,
|
|
1822
1826
|
ArrowOrDash,
|
|
1823
1827
|
Arrow,
|
|
1828
|
+
AssignSource,
|
|
1824
1829
|
AssociationName,
|
|
1825
1830
|
AttributeChain,
|
|
1826
1831
|
AttributeName,
|
|
@@ -1830,7 +1835,6 @@ declare namespace Expressions {
|
|
|
1830
1835
|
Cast,
|
|
1831
1836
|
ClassFinal,
|
|
1832
1837
|
ClassFriends,
|
|
1833
|
-
AssignSource,
|
|
1834
1838
|
ClassGlobal_2 as ClassGlobal,
|
|
1835
1839
|
ClassName,
|
|
1836
1840
|
Color,
|
|
@@ -1839,9 +1843,10 @@ declare namespace Expressions {
|
|
|
1839
1843
|
ComponentChainSimple,
|
|
1840
1844
|
ComponentChain,
|
|
1841
1845
|
ComponentCompareSimple,
|
|
1846
|
+
ComponentCompareSingle,
|
|
1842
1847
|
ComponentCompare,
|
|
1843
|
-
ComponentCond,
|
|
1844
1848
|
ComponentCondSub,
|
|
1849
|
+
ComponentCond,
|
|
1845
1850
|
ComponentName,
|
|
1846
1851
|
ConcatenatedConstant,
|
|
1847
1852
|
CondBody,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ComponentCompareSingle = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
const component_chain_simple_1 = require("./component_chain_simple");
|
|
7
|
+
class ComponentCompareSingle extends combi_1.Expression {
|
|
8
|
+
getRunnable() {
|
|
9
|
+
const ret = (0, combi_1.seq)((0, combi_1.altPrio)(component_chain_simple_1.ComponentChainSimple, _1.Dynamic), "=", _1.Source);
|
|
10
|
+
return ret;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.ComponentCompareSingle = ComponentCompareSingle;
|
|
14
|
+
//# sourceMappingURL=component_compare_single.js.map
|
|
@@ -20,6 +20,7 @@ __exportStar(require("./and_return"), exports);
|
|
|
20
20
|
__exportStar(require("./arith_operator"), exports);
|
|
21
21
|
__exportStar(require("./arrow_or_dash"), exports);
|
|
22
22
|
__exportStar(require("./arrow"), exports);
|
|
23
|
+
__exportStar(require("./assign_source"), exports);
|
|
23
24
|
__exportStar(require("./association_name"), exports);
|
|
24
25
|
__exportStar(require("./attribute_chain"), exports);
|
|
25
26
|
__exportStar(require("./attribute_name"), exports);
|
|
@@ -29,7 +30,6 @@ __exportStar(require("./call_transformation_parameters"), exports);
|
|
|
29
30
|
__exportStar(require("./cast"), exports);
|
|
30
31
|
__exportStar(require("./class_final"), exports);
|
|
31
32
|
__exportStar(require("./class_friends"), exports);
|
|
32
|
-
__exportStar(require("./assign_source"), exports);
|
|
33
33
|
__exportStar(require("./class_global"), exports);
|
|
34
34
|
__exportStar(require("./class_name"), exports);
|
|
35
35
|
__exportStar(require("./color"), exports);
|
|
@@ -38,9 +38,10 @@ __exportStar(require("./compare"), exports);
|
|
|
38
38
|
__exportStar(require("./component_chain_simple"), exports);
|
|
39
39
|
__exportStar(require("./component_chain"), exports);
|
|
40
40
|
__exportStar(require("./component_compare_simple"), exports);
|
|
41
|
+
__exportStar(require("./component_compare_single"), exports);
|
|
41
42
|
__exportStar(require("./component_compare"), exports);
|
|
42
|
-
__exportStar(require("./component_cond"), exports);
|
|
43
43
|
__exportStar(require("./component_cond_sub"), exports);
|
|
44
|
+
__exportStar(require("./component_cond"), exports);
|
|
44
45
|
__exportStar(require("./component_name"), exports);
|
|
45
46
|
__exportStar(require("./concatenated_constant"), exports);
|
|
46
47
|
__exportStar(require("./cond_body"), exports);
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.LoopGroupByComponent = void 0;
|
|
4
4
|
const combi_1 = require("../combi");
|
|
5
5
|
const component_name_1 = require("./component_name");
|
|
6
|
-
const
|
|
6
|
+
const component_compare_single_1 = require("./component_compare_single");
|
|
7
7
|
class LoopGroupByComponent extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
9
|
const groupSize = (0, combi_1.seq)(component_name_1.ComponentName, "=", "GROUP SIZE");
|
|
10
10
|
const groupIndex = (0, combi_1.seq)(component_name_1.ComponentName, "=", "GROUP INDEX");
|
|
11
|
-
const components = (0, combi_1.alt)(
|
|
11
|
+
const components = (0, combi_1.alt)(component_compare_single_1.ComponentCompareSingle, groupSize, groupIndex);
|
|
12
12
|
return components;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
@@ -32,7 +32,7 @@ class LoopGroupBy {
|
|
|
32
32
|
*/
|
|
33
33
|
// const sourceType = new StructureType(components);
|
|
34
34
|
for (const c of node.findDirectExpressions(Expressions.LoopGroupByComponent)) {
|
|
35
|
-
for (const t of c.findDirectExpressions(Expressions.
|
|
35
|
+
for (const t of c.findDirectExpressions(Expressions.ComponentCompareSingle)) {
|
|
36
36
|
new component_compare_1.ComponentCompare().runSyntax(t, scope, filename);
|
|
37
37
|
}
|
|
38
38
|
}
|
package/build/src/registry.js
CHANGED
|
@@ -993,6 +993,9 @@ GET REFERENCE OF <${uniqueName}> INTO ${target.concatTokens()}`;
|
|
|
993
993
|
groupIndexName = name === null || name === void 0 ? void 0 : name.concatTokens();
|
|
994
994
|
}
|
|
995
995
|
else {
|
|
996
|
+
if (condition !== "") {
|
|
997
|
+
condition += " ";
|
|
998
|
+
}
|
|
996
999
|
condition += c.concatTokens();
|
|
997
1000
|
type = type.replace(loopTargetName, loopSourceRowType);
|
|
998
1001
|
type = type.replace("->", "-");
|
|
@@ -1030,11 +1033,15 @@ ELSE.\n`;
|
|
|
1030
1033
|
code += ` CLEAR ${uniqueName}.\n`;
|
|
1031
1034
|
for (const c of group.findAllExpressions(Expressions.LoopGroupByComponent)) {
|
|
1032
1035
|
const concat = c.concatTokens();
|
|
1036
|
+
// console.dir(concat);
|
|
1033
1037
|
if (concat.endsWith(" GROUP INDEX")) {
|
|
1034
1038
|
code += ` ${uniqueName}-${groupIndexName} = ${uniqueNameIndex}.\n`;
|
|
1035
1039
|
}
|
|
1040
|
+
else if (concat.endsWith(" GROUP SIZE")) {
|
|
1041
|
+
code += ` ${uniqueName}-${groupCountName} = 1.\n`;
|
|
1042
|
+
}
|
|
1036
1043
|
else {
|
|
1037
|
-
code += ` ${uniqueName}-${concat
|
|
1044
|
+
code += ` ${uniqueName}-${concat}.\n`;
|
|
1038
1045
|
}
|
|
1039
1046
|
}
|
|
1040
1047
|
if (singleName !== "") {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.93.
|
|
3
|
+
"version": "2.93.30",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@microsoft/api-extractor": "^7.31.2",
|
|
50
50
|
"@types/chai": "^4.3.3",
|
|
51
51
|
"@types/mocha": "^9.1.1",
|
|
52
|
-
"@types/node": "^18.7.
|
|
52
|
+
"@types/node": "^18.7.23",
|
|
53
53
|
"chai": "^4.3.6",
|
|
54
54
|
"eslint": "^8.24.0",
|
|
55
55
|
"mocha": "^10.0.0",
|