@abaplint/transpiler 1.7.44 → 1.8.3
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/constant.js +4 -0
- package/build/src/expressions/index.d.ts +1 -0
- package/build/src/expressions/index.js +1 -0
- package/build/src/expressions/source.js +4 -5
- package/build/src/expressions/sql_source_simple.d.ts +7 -0
- package/build/src/expressions/sql_source_simple.js +15 -0
- package/build/src/expressions/string_template.js +1 -1
- package/build/src/statements/delete_database.d.ts +1 -1
- package/build/src/statements/delete_database.js +10 -2
- package/build/src/statements/method_implementation.js +1 -1
- package/build/src/unit_test.js +0 -1
- package/package.json +2 -2
|
@@ -28,6 +28,10 @@ class ConstantTranspiler {
|
|
|
28
28
|
const code = "new abap.types.Character({length: " + (res.length - 2) + "}).set(" + this.escape(res) + ")";
|
|
29
29
|
return new chunk_1.Chunk().append(code, node, traversal);
|
|
30
30
|
}
|
|
31
|
+
else if (res.startsWith("`") && this.addGet === false) {
|
|
32
|
+
const code = "new abap.types.String().set(" + this.escape(res) + ")";
|
|
33
|
+
return new chunk_1.Chunk().append(code, node, traversal);
|
|
34
|
+
}
|
|
31
35
|
else {
|
|
32
36
|
if (res.startsWith("'")) {
|
|
33
37
|
res = "'" + res.substring(1, res.length - 1).trimEnd() + "'";
|
|
@@ -36,6 +36,7 @@ export * from "./simple_source3";
|
|
|
36
36
|
export * from "./simple_source4";
|
|
37
37
|
export * from "./source_field_symbol";
|
|
38
38
|
export * from "./source";
|
|
39
|
+
export * from "./sql_source_simple";
|
|
39
40
|
export * from "./sql_source";
|
|
40
41
|
export * from "./string_template_source";
|
|
41
42
|
export * from "./string_template";
|
|
@@ -48,6 +48,7 @@ __exportStar(require("./simple_source3"), exports);
|
|
|
48
48
|
__exportStar(require("./simple_source4"), exports);
|
|
49
49
|
__exportStar(require("./source_field_symbol"), exports);
|
|
50
50
|
__exportStar(require("./source"), exports);
|
|
51
|
+
__exportStar(require("./sql_source_simple"), exports);
|
|
51
52
|
__exportStar(require("./sql_source"), exports);
|
|
52
53
|
__exportStar(require("./string_template_source"), exports);
|
|
53
54
|
__exportStar(require("./string_template"), exports);
|
|
@@ -66,11 +66,10 @@ class SourceTranspiler {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
else if (c instanceof core_1.Nodes.TokenNode && (c.getFirstToken().getStr() === "&&" || c.getFirstToken().getStr() === "&")) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
ret.append(" + ", c, traversal);
|
|
69
|
+
ret = new chunk_1.Chunk().appendString("abap.operators.concat(").appendChunk(ret).appendString(",");
|
|
70
|
+
post.appendString(")");
|
|
71
|
+
if (this.addGet) {
|
|
72
|
+
post.append(".get()", c, traversal);
|
|
74
73
|
}
|
|
75
74
|
}
|
|
76
75
|
else if (c instanceof core_1.Nodes.TokenNodeRegex && c.getFirstToken().getStr().toUpperCase() === "BOOLC") {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Nodes } from "@abaplint/core";
|
|
2
|
+
import { IExpressionTranspiler } from "./_expression_transpiler";
|
|
3
|
+
import { Traversal } from "../traversal";
|
|
4
|
+
import { Chunk } from "../chunk";
|
|
5
|
+
export declare class SQLSourceSimpleTranspiler implements IExpressionTranspiler {
|
|
6
|
+
transpile(node: Nodes.ExpressionNode, traversal: Traversal): Chunk;
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SQLSourceSimpleTranspiler = void 0;
|
|
4
|
+
const abaplint = require("@abaplint/core");
|
|
5
|
+
class SQLSourceSimpleTranspiler {
|
|
6
|
+
transpile(node, traversal) {
|
|
7
|
+
let s = node.findDirectExpression(abaplint.Expressions.Source);
|
|
8
|
+
if (s === undefined) {
|
|
9
|
+
s = node.findDirectExpression(abaplint.Expressions.SimpleSource3);
|
|
10
|
+
}
|
|
11
|
+
return traversal.traverse(s);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.SQLSourceSimpleTranspiler = SQLSourceSimpleTranspiler;
|
|
15
|
+
//# sourceMappingURL=sql_source_simple.js.map
|
|
@@ -33,7 +33,7 @@ class StringTemplateTranspiler {
|
|
|
33
33
|
ret += new _1.StringTemplateSourceTranspiler().transpile(c, traversal).getCode();
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
return new chunk_1.Chunk(ret);
|
|
36
|
+
return new chunk_1.Chunk("new abap.types.String().set(" + ret + ")");
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
exports.StringTemplateTranspiler = StringTemplateTranspiler;
|
|
@@ -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 DeleteDatabaseTranspiler implements IStatementTranspiler {
|
|
6
|
-
transpile(
|
|
6
|
+
transpile(node: abaplint.Nodes.StatementNode, traversal: Traversal): Chunk;
|
|
7
7
|
}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DeleteDatabaseTranspiler = void 0;
|
|
4
|
+
const abaplint = require("@abaplint/core");
|
|
4
5
|
const chunk_1 = require("../chunk");
|
|
5
6
|
class DeleteDatabaseTranspiler {
|
|
6
|
-
transpile(
|
|
7
|
-
|
|
7
|
+
transpile(node, traversal) {
|
|
8
|
+
const table = traversal.traverse(node.findFirstExpression(abaplint.Expressions.DatabaseTable));
|
|
9
|
+
const options = [];
|
|
10
|
+
const tab = node.findExpressionAfterToken("TABLE");
|
|
11
|
+
if (tab) {
|
|
12
|
+
const ttab = traversal.traverse(tab);
|
|
13
|
+
options.push(`"table": ` + ttab.getCode());
|
|
14
|
+
}
|
|
15
|
+
return new chunk_1.Chunk(`abap.statements.deleteDatabase(${table.getCode()}, {${options.join(", ")}});`);
|
|
8
16
|
}
|
|
9
17
|
}
|
|
10
18
|
exports.DeleteDatabaseTranspiler = DeleteDatabaseTranspiler;
|
|
@@ -102,7 +102,7 @@ class MethodImplementationTranspiler {
|
|
|
102
102
|
const intfName = split[0];
|
|
103
103
|
name = split[1];
|
|
104
104
|
const scope = traversal.findCurrentScopeByToken(cdef.getToken());
|
|
105
|
-
const intf =
|
|
105
|
+
const intf = traversal.findInterfaceDefinition(intfName, scope);
|
|
106
106
|
return (_a = intf === null || intf === void 0 ? void 0 : intf.getMethodDefinitions()) === null || _a === void 0 ? void 0 : _a.getByName(name);
|
|
107
107
|
}
|
|
108
108
|
else {
|
package/build/src/unit_test.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.3",
|
|
4
4
|
"description": "Transpiler",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/src/index.d.ts",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"author": "abaplint",
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@abaplint/core": "^2.85.
|
|
30
|
+
"@abaplint/core": "^2.85.13",
|
|
31
31
|
"source-map": "^0.7.3"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|