@abaplint/transpiler
Version:
30 lines • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CollectTranspiler = void 0;
const abaplint = require("@abaplint/core");
const chunk_1 = require("../chunk");
class CollectTranspiler {
transpile(node, traversal) {
const source = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));
const targetExpression = node.findDirectExpression(abaplint.Expressions.Target);
if (targetExpression === undefined) {
return new chunk_1.Chunk()
.appendString("abap.statements.collect(")
.appendChunk(source)
.appendString(");");
}
const target = traversal.traverse(targetExpression);
const fstarget = node.findDirectExpression(abaplint.Expressions.FSTarget);
if (fstarget) {
return new chunk_1.Chunk(`throw new Error("Collect, transpiler todo");`);
}
return new chunk_1.Chunk()
.appendString("abap.statements.collect(")
.appendChunk(source)
.appendString(",")
.appendChunk(target)
.appendString(");");
}
}
exports.CollectTranspiler = CollectTranspiler;
//# sourceMappingURL=collect.js.map