@abaplint/transpiler 2.0.68 → 2.0.71
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/expressions/field_length.js +1 -6
- package/build/src/expressions/field_offset.js +1 -6
- package/build/src/statements/get_locale.d.ts +1 -1
- package/build/src/statements/get_locale.js +4 -2
- package/build/src/statements/perform.js +1 -1
- package/build/src/statements/read_table.js +3 -2
- package/build/src/statements/set_locale.d.ts +1 -1
- package/build/src/statements/set_locale.js +4 -2
- package/build/src/structures/interface.js +3 -1
- package/build/src/traversal.js +1 -1
- package/package.json +2 -2
|
@@ -32,12 +32,7 @@ class FieldLengthTranspiler {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
return new chunk_1.Chunk(ret);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
return new chunk_1.Chunk(ret + ".get()");
|
|
40
|
-
}
|
|
35
|
+
return new chunk_1.Chunk(ret);
|
|
41
36
|
}
|
|
42
37
|
}
|
|
43
38
|
exports.FieldLengthTranspiler = FieldLengthTranspiler;
|
|
@@ -32,12 +32,7 @@ class FieldOffsetTranspiler {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
return new chunk_1.Chunk(ret);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
return new chunk_1.Chunk(ret + ".get()");
|
|
40
|
-
}
|
|
35
|
+
return new chunk_1.Chunk(ret);
|
|
41
36
|
}
|
|
42
37
|
}
|
|
43
38
|
exports.FieldOffsetTranspiler = FieldOffsetTranspiler;
|
|
@@ -3,5 +3,5 @@ import { IStatementTranspiler } from "./_statement_transpiler";
|
|
|
3
3
|
import { Traversal } from "../traversal";
|
|
4
4
|
import { Chunk } from "../chunk";
|
|
5
5
|
export declare class GetLocaleTranspiler implements IStatementTranspiler {
|
|
6
|
-
transpile(
|
|
6
|
+
transpile(node: abaplint.Nodes.StatementNode, traversal: Traversal): Chunk;
|
|
7
7
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GetLocaleTranspiler = void 0;
|
|
4
|
+
const abaplint = require("@abaplint/core");
|
|
4
5
|
const chunk_1 = require("../chunk");
|
|
5
6
|
class GetLocaleTranspiler {
|
|
6
|
-
transpile(
|
|
7
|
-
|
|
7
|
+
transpile(node, traversal) {
|
|
8
|
+
const t = traversal.traverse(node.findFirstExpression(abaplint.Expressions.Target));
|
|
9
|
+
return new chunk_1.Chunk(`abap.statements.getLocale(${t.getCode()});`);
|
|
8
10
|
}
|
|
9
11
|
}
|
|
10
12
|
exports.GetLocaleTranspiler = GetLocaleTranspiler;
|
|
@@ -7,7 +7,7 @@ class PerformTranspiler {
|
|
|
7
7
|
transpile(node, _traversal) {
|
|
8
8
|
const formName = node.findDirectExpression(abaplint.Expressions.FormName);
|
|
9
9
|
if (formName === undefined) {
|
|
10
|
-
throw new Error("PerformTranspiler, FormName not found");
|
|
10
|
+
throw new Error("PerformTranspiler, FormName not found: " + node.concatTokens());
|
|
11
11
|
}
|
|
12
12
|
// todo, parameters
|
|
13
13
|
if (node.concatTokens().includes(" IN PROGRAM ")) {
|
|
@@ -47,13 +47,14 @@ class ReadTableTranspiler {
|
|
|
47
47
|
const conds = [];
|
|
48
48
|
for (let i = 0; i < components.length; i++) {
|
|
49
49
|
const s = traversal.traverse(sources[i]).getCode();
|
|
50
|
+
const field = components[i].concatTokens().toLowerCase().replace("-", ".get().");
|
|
50
51
|
if (s.includes("await")) {
|
|
51
52
|
const id = unique_identifier_1.UniqueIdentifier.get();
|
|
52
53
|
prefix += "const " + id + " = " + s + ";\n";
|
|
53
|
-
conds.push("abap.compare.eq(i." +
|
|
54
|
+
conds.push("abap.compare.eq(i." + field + ", " + id + ")");
|
|
54
55
|
}
|
|
55
56
|
else {
|
|
56
|
-
conds.push("abap.compare.eq(i." +
|
|
57
|
+
conds.push("abap.compare.eq(i." + field + ", " + s + ")");
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
extra.push("withKey: (i) => {return " + conds.join(" && ") + ";}");
|
|
@@ -3,5 +3,5 @@ import { IStatementTranspiler } from "./_statement_transpiler";
|
|
|
3
3
|
import { Traversal } from "../traversal";
|
|
4
4
|
import { Chunk } from "../chunk";
|
|
5
5
|
export declare class SetLocaleTranspiler implements IStatementTranspiler {
|
|
6
|
-
transpile(
|
|
6
|
+
transpile(node: abaplint.Nodes.StatementNode, traversal: Traversal): Chunk;
|
|
7
7
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SetLocaleTranspiler = void 0;
|
|
4
|
+
const abaplint = require("@abaplint/core");
|
|
4
5
|
const chunk_1 = require("../chunk");
|
|
5
6
|
class SetLocaleTranspiler {
|
|
6
|
-
transpile(
|
|
7
|
-
|
|
7
|
+
transpile(node, traversal) {
|
|
8
|
+
const s = traversal.traverse(node.findFirstExpression(abaplint.Expressions.Source));
|
|
9
|
+
return new chunk_1.Chunk(`abap.statements.setLocale(${s.getCode()});`);
|
|
8
10
|
}
|
|
9
11
|
}
|
|
10
12
|
exports.SetLocaleTranspiler = SetLocaleTranspiler;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InterfaceTranspiler = void 0;
|
|
4
4
|
const abaplint = require("@abaplint/core");
|
|
5
|
+
const traversal_1 = require("../traversal");
|
|
5
6
|
const transpile_types_1 = require("../transpile_types");
|
|
6
7
|
const expressions_1 = require("../expressions");
|
|
7
8
|
const chunk_1 = require("../chunk");
|
|
@@ -13,6 +14,7 @@ class InterfaceTranspiler {
|
|
|
13
14
|
for (const c of node.getChildren()) {
|
|
14
15
|
if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.Interface) {
|
|
15
16
|
name = (_a = c.findDirectExpression(abaplint.Expressions.InterfaceName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr().toLowerCase();
|
|
17
|
+
name = traversal_1.Traversal.escapeClassName(name);
|
|
16
18
|
ret += `class ${name} {\n`;
|
|
17
19
|
}
|
|
18
20
|
else if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.EndInterface) {
|
|
@@ -40,7 +42,7 @@ class InterfaceTranspiler {
|
|
|
40
42
|
|| identifier.getMeta().includes("read_only" /* abaplint.IdentifierMeta.ReadOnly */) === false) {
|
|
41
43
|
continue;
|
|
42
44
|
}
|
|
43
|
-
const interfaceName = node.getFirstToken().getStr().toLowerCase();
|
|
45
|
+
const interfaceName = traversal_1.Traversal.escapeClassName(node.getFirstToken().getStr().toLowerCase());
|
|
44
46
|
const name = interfaceName + "." + interfaceName + "$" + n.toLowerCase();
|
|
45
47
|
ret += name + " = " + new transpile_types_1.TranspileTypes().toType(identifier.getType()) + ";\n";
|
|
46
48
|
const constantStatement = traversal.findStatementInFile(identifier.getStart());
|
package/build/src/traversal.js
CHANGED
|
@@ -282,7 +282,7 @@ class Traversal {
|
|
|
282
282
|
}
|
|
283
283
|
// constants can be accessed both statically and via reference
|
|
284
284
|
for (const c of def.getAttributes().getConstants()) {
|
|
285
|
-
ret += "this." + c.getName().toLowerCase() + " = " + def.getName().toLowerCase() + "." + c.getName().toLowerCase() + ";\n";
|
|
285
|
+
ret += "this." + c.getName().toLowerCase() + " = " + Traversal.escapeClassName(def.getName().toLowerCase()) + "." + c.getName().toLowerCase() + ";\n";
|
|
286
286
|
}
|
|
287
287
|
return ret;
|
|
288
288
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.71",
|
|
4
4
|
"description": "Transpiler",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/src/index.d.ts",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"author": "abaplint",
|
|
29
29
|
"license": "MIT",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@abaplint/core": "^2.91.
|
|
31
|
+
"@abaplint/core": "^2.91.9",
|
|
32
32
|
"source-map": "^0.7.4"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|