@abaplint/transpiler
Version:
24 lines • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SplitTranspiler = void 0;
const abaplint = require("@abaplint/core");
const chunk_1 = require("../chunk");
class SplitTranspiler {
transpile(node, traversal) {
const sources = node.findDirectExpressions(abaplint.Expressions.Source);
const source = traversal.traverse(sources[0]).getCode();
const at = traversal.traverse(sources[1]).getCode();
let to = "";
const table = node.findExpressionAfterToken("TABLE");
if (table) {
const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target)).getCode();
to = ", table: " + target;
}
else {
to = ", targets: [" + node.findDirectExpressions(abaplint.Expressions.Target).map(e => traversal.traverse(e).getCode()).join(",") + "]";
}
return new chunk_1.Chunk().append("abap.statements.split({source: " + source + ", at: " + at + to + "});", node, traversal);
}
}
exports.SplitTranspiler = SplitTranspiler;
//# sourceMappingURL=split.js.map