@abaplint/transpiler
Version:
25 lines • 935 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ComputeTranspiler = void 0;
const abaplint = require("@abaplint/core");
const chunk_1 = require("../chunk");
class ComputeTranspiler {
transpile(node, traversal) {
let source = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));
const targets = [];
for (const t of node.findDirectExpressions(abaplint.Expressions.Target)) {
targets.push(traversal.traverse(t));
}
const ret = new chunk_1.Chunk();
for (const target of targets.reverse()) {
ret.appendChunk(target)
.appendString(".set(")
.appendChunk(source)
.append(");", node.getLastToken(), traversal);
source = target;
}
return ret;
}
}
exports.ComputeTranspiler = ComputeTranspiler;
//# sourceMappingURL=compute.js.map