@abaplint/transpiler 2.0.31 → 2.0.34
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/requires.js
CHANGED
|
@@ -8,7 +8,7 @@ class Requires {
|
|
|
8
8
|
}
|
|
9
9
|
// todo, refactor this method
|
|
10
10
|
find(obj, _node, filename) {
|
|
11
|
-
var _a, _b, _c, _d, _e;
|
|
11
|
+
var _a, _b, _c, _d, _e, _f;
|
|
12
12
|
const ret = [];
|
|
13
13
|
if (obj.getType() === "INTF") {
|
|
14
14
|
return [];
|
|
@@ -85,6 +85,24 @@ class Requires {
|
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
+
// include global super classes for local class definitions
|
|
89
|
+
for (const f of obj.getSequencedFiles()) {
|
|
90
|
+
for (const c of f.getInfo().listClassDefinitions()) {
|
|
91
|
+
if (c.superClassName === undefined) {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
const found = this.reg.getObject("CLAS", c.superClassName);
|
|
95
|
+
if (found && found instanceof abaplint.ABAPObject) {
|
|
96
|
+
const main = (_f = found.getMainABAPFile()) === null || _f === void 0 ? void 0 : _f.getFilename();
|
|
97
|
+
if (main) {
|
|
98
|
+
add({
|
|
99
|
+
filename: main,
|
|
100
|
+
name: found.getName().toLowerCase(),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
88
106
|
}
|
|
89
107
|
return ret;
|
|
90
108
|
}
|
|
@@ -4,14 +4,27 @@ exports.FieldSymbolTranspiler = void 0;
|
|
|
4
4
|
const abaplint = require("@abaplint/core");
|
|
5
5
|
const field_symbol_1 = require("../expressions/field_symbol");
|
|
6
6
|
const chunk_1 = require("../chunk");
|
|
7
|
+
const transpile_types_1 = require("../transpile_types");
|
|
7
8
|
class FieldSymbolTranspiler {
|
|
8
9
|
transpile(node, traversal) {
|
|
9
10
|
const name = node.findDirectExpression(abaplint.Expressions.FieldSymbol);
|
|
11
|
+
const token = name === null || name === void 0 ? void 0 : name.getFirstToken();
|
|
12
|
+
if (token === undefined) {
|
|
13
|
+
throw new Error("FieldSymbolTranspiler, token not found");
|
|
14
|
+
}
|
|
15
|
+
const scope = traversal.findCurrentScopeByToken(token);
|
|
16
|
+
if (scope === undefined) {
|
|
17
|
+
throw new Error("FieldSymbolTranspiler, scope not found");
|
|
18
|
+
}
|
|
19
|
+
const found = scope.findVariable(token.getStr());
|
|
20
|
+
if (found === undefined) {
|
|
21
|
+
throw new Error("FieldSymbolTranspiler, var not found, \"" + token.getStr() + "\"");
|
|
22
|
+
}
|
|
10
23
|
if (name) {
|
|
11
24
|
return new chunk_1.Chunk()
|
|
12
25
|
.append("let ", node, traversal)
|
|
13
26
|
.appendChunk(new field_symbol_1.FieldSymbolTranspiler().transpile(name, traversal))
|
|
14
|
-
.append(" = new abap.types.FieldSymbol();", node.getLastToken(), traversal);
|
|
27
|
+
.append(" = new abap.types.FieldSymbol(" + new transpile_types_1.TranspileTypes().toType(found.getType()) + ");", node.getLastToken(), traversal);
|
|
15
28
|
}
|
|
16
29
|
throw new Error("FieldSymbolTranspiler, name not found");
|
|
17
30
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.34",
|
|
4
4
|
"description": "Transpiler",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/src/index.d.ts",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"author": "abaplint",
|
|
29
29
|
"license": "MIT",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@abaplint/core": "^2.
|
|
32
|
-
"source-map": "^0.7.
|
|
31
|
+
"@abaplint/core": "^2.91.1",
|
|
32
|
+
"source-map": "^0.7.4"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/chai": "^4.3.1",
|