@abaplint/transpiler 2.2.3 → 2.2.5
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/index.d.ts +1 -0
- package/build/src/expressions/index.js +1 -0
- package/build/src/expressions/message_number.d.ts +7 -0
- package/build/src/expressions/message_number.js +11 -0
- package/build/src/statements/call_function.js +13 -3
- package/build/src/statements/index.d.ts +1 -0
- package/build/src/statements/index.js +1 -0
- package/build/src/statements/log_point.d.ts +7 -0
- package/build/src/statements/log_point.js +12 -0
- package/build/src/statements/read_table.js +1 -1
- package/package.json +1 -1
|
@@ -20,6 +20,7 @@ export * from "./field_offset";
|
|
|
20
20
|
export * from "./field_symbol";
|
|
21
21
|
export * from "./function_exporting";
|
|
22
22
|
export * from "./function_parameters";
|
|
23
|
+
export * from "./message_number";
|
|
23
24
|
export * from "./method_call_body";
|
|
24
25
|
export * from "./method_call_chain";
|
|
25
26
|
export * from "./method_call_param";
|
|
@@ -36,6 +36,7 @@ __exportStar(require("./field_offset"), exports);
|
|
|
36
36
|
__exportStar(require("./field_symbol"), exports);
|
|
37
37
|
__exportStar(require("./function_exporting"), exports);
|
|
38
38
|
__exportStar(require("./function_parameters"), exports);
|
|
39
|
+
__exportStar(require("./message_number"), exports);
|
|
39
40
|
__exportStar(require("./method_call_body"), exports);
|
|
40
41
|
__exportStar(require("./method_call_chain"), exports);
|
|
41
42
|
__exportStar(require("./method_call_param"), exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Nodes } from "@abaplint/core";
|
|
2
|
+
import { Chunk } from "../chunk";
|
|
3
|
+
import { Traversal } from "../traversal";
|
|
4
|
+
import { IExpressionTranspiler } from "./_expression_transpiler";
|
|
5
|
+
export declare class MessageNumberTranspiler implements IExpressionTranspiler {
|
|
6
|
+
transpile(node: Nodes.ExpressionNode, traversal: Traversal): Chunk;
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageNumberTranspiler = void 0;
|
|
4
|
+
const chunk_1 = require("../chunk");
|
|
5
|
+
class MessageNumberTranspiler {
|
|
6
|
+
transpile(node, traversal) {
|
|
7
|
+
return new chunk_1.Chunk().append("'" + node.concatTokens() + "'", node, traversal);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.MessageNumberTranspiler = MessageNumberTranspiler;
|
|
11
|
+
//# sourceMappingURL=message_number.js.map
|
|
@@ -3,13 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CallFunctionTranspiler = void 0;
|
|
4
4
|
const abaplint = require("@abaplint/core");
|
|
5
5
|
const chunk_1 = require("../chunk");
|
|
6
|
+
const expressions_1 = require("../expressions");
|
|
6
7
|
class CallFunctionTranspiler {
|
|
7
8
|
transpile(node, traversal) {
|
|
8
9
|
var _a, _b;
|
|
9
|
-
const
|
|
10
|
-
if (
|
|
10
|
+
const fmchild = (_a = node.findDirectExpression(abaplint.Expressions.FunctionName)) === null || _a === void 0 ? void 0 : _a.getFirstChild();
|
|
11
|
+
if (fmchild === undefined) {
|
|
11
12
|
throw new Error("CallFunctionTranspilerNameNotFound");
|
|
12
13
|
}
|
|
14
|
+
let fmname = "";
|
|
15
|
+
if (fmchild instanceof abaplint.Nodes.ExpressionNode
|
|
16
|
+
&& fmchild.get() instanceof abaplint.Expressions.FieldChain) {
|
|
17
|
+
fmname = new expressions_1.FieldChainTranspiler(true).transpile(fmchild, traversal).getCode();
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
fmname = fmchild.concatTokens().toUpperCase();
|
|
21
|
+
}
|
|
13
22
|
let param = "";
|
|
14
23
|
const fmp = node.findDirectExpression(abaplint.Expressions.FunctionParameters);
|
|
15
24
|
if (fmp) {
|
|
@@ -18,8 +27,9 @@ class CallFunctionTranspiler {
|
|
|
18
27
|
const ret = new chunk_1.Chunk();
|
|
19
28
|
const dest = (_b = node.findDirectExpression(abaplint.Expressions.Destination)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(abaplint.Expressions.Source);
|
|
20
29
|
if (dest) {
|
|
30
|
+
const s = new expressions_1.SourceTranspiler(true).transpile(dest, traversal);
|
|
21
31
|
param = param.replace("{", ",").replace(/}$/, "");
|
|
22
|
-
ret.appendString(`await abap.statements.callFunction({name:${fmname},destination:${
|
|
32
|
+
ret.appendString(`await abap.statements.callFunction({name:${fmname},destination:${s.getCode()}${param}});`);
|
|
23
33
|
}
|
|
24
34
|
else {
|
|
25
35
|
ret.appendString(`await abap.FunctionModules[${fmname}](${param});`);
|
|
@@ -34,6 +34,7 @@ __exportStar(require("./clear"), exports);
|
|
|
34
34
|
__exportStar(require("./close_dataset"), exports);
|
|
35
35
|
__exportStar(require("./collect"), exports);
|
|
36
36
|
__exportStar(require("./commit"), exports);
|
|
37
|
+
__exportStar(require("./log_point"), exports);
|
|
37
38
|
__exportStar(require("./concatenate"), exports);
|
|
38
39
|
__exportStar(require("./condense"), exports);
|
|
39
40
|
__exportStar(require("./constant"), exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as abaplint from "@abaplint/core";
|
|
2
|
+
import { IStatementTranspiler } from "./_statement_transpiler";
|
|
3
|
+
import { Traversal } from "../traversal";
|
|
4
|
+
import { Chunk } from "../chunk";
|
|
5
|
+
export declare class LogPointTranspiler implements IStatementTranspiler {
|
|
6
|
+
transpile(_node: abaplint.Nodes.StatementNode, _traversal: Traversal): Chunk;
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LogPointTranspiler = void 0;
|
|
4
|
+
const chunk_1 = require("../chunk");
|
|
5
|
+
class LogPointTranspiler {
|
|
6
|
+
transpile(_node, _traversal) {
|
|
7
|
+
// for now, do nothing,
|
|
8
|
+
return new chunk_1.Chunk(``);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.LogPointTranspiler = LogPointTranspiler;
|
|
12
|
+
//# sourceMappingURL=log_point.js.map
|
|
@@ -45,7 +45,7 @@ class ReadTableTranspiler {
|
|
|
45
45
|
const left = compare.getChildren()[i * 3];
|
|
46
46
|
const source = compare.getChildren()[(i * 3) + 2];
|
|
47
47
|
const s = traversal.traverse(source).getCode();
|
|
48
|
-
let field = left.concatTokens().toLowerCase().replace("-", ".get().");
|
|
48
|
+
let field = left.concatTokens().toLowerCase().replace("->", ".get().").replace("-", ".get().");
|
|
49
49
|
if (left.get() instanceof abaplint.Expressions.Dynamic
|
|
50
50
|
&& left instanceof abaplint.Nodes.ExpressionNode) {
|
|
51
51
|
const concat = left.concatTokens().toLowerCase();
|