@abaplint/core 2.93.48 → 2.93.50
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.
|
@@ -88,9 +88,13 @@ class Procedural {
|
|
|
88
88
|
else {
|
|
89
89
|
found = ddic.lookup(param.type).type;
|
|
90
90
|
}
|
|
91
|
-
if (param.direction === types_1.FunctionModuleParameterDirection.tables
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
if (param.direction === types_1.FunctionModuleParameterDirection.tables) {
|
|
92
|
+
if (found instanceof basic_1.TableType) {
|
|
93
|
+
found = new basic_1.TableType(found.getRowType(), { withHeader: true });
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
found = new basic_1.TableType(found, { withHeader: true });
|
|
97
|
+
}
|
|
94
98
|
}
|
|
95
99
|
if (found instanceof basic_1.UnknownType && ((_a = param.type) === null || _a === void 0 ? void 0 : _a.includes("-"))) {
|
|
96
100
|
const [name, field] = param.type.split("-");
|
|
@@ -7,6 +7,7 @@ const target_1 = require("../expressions/target");
|
|
|
7
7
|
const basic_1 = require("../../types/basic");
|
|
8
8
|
const fstarget_1 = require("../expressions/fstarget");
|
|
9
9
|
const inline_data_1 = require("../expressions/inline_data");
|
|
10
|
+
// todo: issue error for short APPEND if the source is without header line
|
|
10
11
|
class Append {
|
|
11
12
|
runSyntax(node, scope, filename) {
|
|
12
13
|
let targetType = undefined;
|
|
@@ -37,6 +38,7 @@ class Append {
|
|
|
37
38
|
if (source) {
|
|
38
39
|
if (targetType !== undefined
|
|
39
40
|
&& !(targetType instanceof basic_1.TableType)
|
|
41
|
+
&& dataTarget !== target
|
|
40
42
|
&& !(targetType instanceof basic_1.VoidType)) {
|
|
41
43
|
throw new Error("Append, target not a table type");
|
|
42
44
|
}
|
|
@@ -33,6 +33,12 @@ class Loop {
|
|
|
33
33
|
else if (sourceType instanceof basic_1.UnknownType) {
|
|
34
34
|
throw new Error("Loop, not a table type, " + sourceType.getError());
|
|
35
35
|
}
|
|
36
|
+
else if (sourceType instanceof basic_1.TableType
|
|
37
|
+
&& target === undefined
|
|
38
|
+
&& sourceType.isWithHeader() === false
|
|
39
|
+
&& node.getChildren().length === 4) {
|
|
40
|
+
throw new Error("Loop, no header line");
|
|
41
|
+
}
|
|
36
42
|
else if (!(sourceType instanceof basic_1.TableType)
|
|
37
43
|
&& !(sourceType instanceof basic_1.VoidType)
|
|
38
44
|
&& concat.startsWith("LOOP AT GROUP ") === false) {
|
package/build/src/registry.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.93.
|
|
3
|
+
"version": "2.93.50",
|
|
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.33.4",
|
|
50
50
|
"@types/chai": "^4.3.3",
|
|
51
51
|
"@types/mocha": "^10.0.0",
|
|
52
|
-
"@types/node": "^18.11.
|
|
52
|
+
"@types/node": "^18.11.3",
|
|
53
53
|
"chai": "^4.3.6",
|
|
54
54
|
"eslint": "^8.25.0",
|
|
55
55
|
"mocha": "^10.1.0",
|