@abaplint/core 2.95.46 → 2.95.48
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.
|
@@ -65,7 +65,7 @@ class Source {
|
|
|
65
65
|
{
|
|
66
66
|
const foundType = this.determineType(node, scope, filename, targetType);
|
|
67
67
|
const bodyType = new reduce_body_1.ReduceBody().runSyntax(node.findDirectExpression(Expressions.ReduceBody), scope, filename, foundType);
|
|
68
|
-
if (foundType === undefined) {
|
|
68
|
+
if (foundType === undefined || foundType.isGeneric() === true) {
|
|
69
69
|
this.addIfInferred(node, scope, filename, bodyType);
|
|
70
70
|
}
|
|
71
71
|
return foundType ? foundType : bodyType;
|
|
@@ -74,7 +74,7 @@ class Source {
|
|
|
74
74
|
{
|
|
75
75
|
const foundType = this.determineType(node, scope, filename, targetType);
|
|
76
76
|
const bodyType = new switch_body_1.SwitchBody().runSyntax(node.findDirectExpression(Expressions.SwitchBody), scope, filename);
|
|
77
|
-
if (foundType === undefined) {
|
|
77
|
+
if (foundType === undefined || foundType.isGeneric() === true) {
|
|
78
78
|
this.addIfInferred(node, scope, filename, bodyType);
|
|
79
79
|
}
|
|
80
80
|
return foundType ? foundType : bodyType;
|
|
@@ -83,7 +83,7 @@ class Source {
|
|
|
83
83
|
{
|
|
84
84
|
const foundType = this.determineType(node, scope, filename, targetType);
|
|
85
85
|
const bodyType = new cond_body_1.CondBody().runSyntax(node.findDirectExpression(Expressions.CondBody), scope, filename, foundType);
|
|
86
|
-
if (foundType === undefined) {
|
|
86
|
+
if (foundType === undefined || foundType.isGeneric() === true) {
|
|
87
87
|
this.addIfInferred(node, scope, filename, bodyType);
|
|
88
88
|
}
|
|
89
89
|
return foundType ? foundType : bodyType;
|
|
@@ -9,7 +9,7 @@ class StringTemplate {
|
|
|
9
9
|
for (const s of node.findAllExpressions(Expressions.Source)) {
|
|
10
10
|
new source_1.Source().runSyntax(s, scope, filename, new basic_1.StringType({ qualifiedName: "STRING" }));
|
|
11
11
|
}
|
|
12
|
-
return new basic_1.StringType();
|
|
12
|
+
return new basic_1.StringType({ qualifiedName: "STRING" });
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
exports.StringTemplate = StringTemplate;
|
package/build/src/registry.js
CHANGED
|
@@ -285,6 +285,16 @@ Only one transformation is applied to a statement at a time, so multiple steps m
|
|
|
285
285
|
}
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
|
+
else if (ret.length === 0 && / xsdbool\(/i.test(lowFile.getRaw())) {
|
|
289
|
+
for (let i = 0; i < lowStatements.length; i++) {
|
|
290
|
+
const high = highStatements[i];
|
|
291
|
+
const issue = this.replaceXsdBool(high, lowFile, highSyntax);
|
|
292
|
+
if (issue) {
|
|
293
|
+
ret.push(issue);
|
|
294
|
+
break;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
288
298
|
}
|
|
289
299
|
return ret;
|
|
290
300
|
}
|
|
@@ -315,7 +325,12 @@ Only one transformation is applied to a statement at a time, so multiple steps m
|
|
|
315
325
|
if (low.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
|
|
316
326
|
return undefined;
|
|
317
327
|
}
|
|
318
|
-
|
|
328
|
+
// downport XSDBOOL() early, as it is valid 702 syntax
|
|
329
|
+
let found = this.replaceXsdBool(high, lowFile, highSyntax);
|
|
330
|
+
if (found) {
|
|
331
|
+
return found;
|
|
332
|
+
}
|
|
333
|
+
found = this.downportEnum(low, high, lowFile, highSyntax, highFile);
|
|
319
334
|
if (found) {
|
|
320
335
|
return found;
|
|
321
336
|
}
|
|
@@ -457,10 +472,6 @@ Only one transformation is applied to a statement at a time, so multiple steps m
|
|
|
457
472
|
if (found) {
|
|
458
473
|
return found;
|
|
459
474
|
}
|
|
460
|
-
found = this.replaceXsdBool(high, lowFile, highSyntax);
|
|
461
|
-
if (found) {
|
|
462
|
-
return found;
|
|
463
|
-
}
|
|
464
475
|
found = this.replaceLineFunctions(high, lowFile, highSyntax, highFile);
|
|
465
476
|
if (found) {
|
|
466
477
|
return found;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.95.
|
|
3
|
+
"version": "2.95.48",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@microsoft/api-extractor": "^7.34.4",
|
|
51
51
|
"@types/chai": "^4.3.4",
|
|
52
52
|
"@types/mocha": "^10.0.1",
|
|
53
|
-
"@types/node": "^18.15.
|
|
53
|
+
"@types/node": "^18.15.5",
|
|
54
54
|
"chai": "^4.3.7",
|
|
55
55
|
"eslint": "^8.36.0",
|
|
56
56
|
"mocha": "^10.2.0",
|