@abaplint/transpiler
Version:
27 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SetHandlerTranspiler = void 0;
const abaplint = require("@abaplint/core");
const chunk_1 = require("../chunk");
const expressions_1 = require("../expressions");
class SetHandlerTranspiler {
transpile(node, traversal) {
const methods = [];
for (const m of node.findDirectExpressions(abaplint.Expressions.MethodSource)) {
methods.push(new expressions_1.MethodSourceTranspiler().transpile(m, traversal).getCode());
}
let f = undefined;
const forExpression = node.findExpressionAfterToken("FOR");
if (forExpression) {
f = new expressions_1.SourceTranspiler().transpile(forExpression, traversal).getCode();
}
let activation = undefined;
const activationExpression = node.findExpressionAfterToken("ACTIVATION");
if (activationExpression) {
activation = new expressions_1.SourceTranspiler().transpile(activationExpression, traversal).getCode();
}
return new chunk_1.Chunk().append(`abap.statements.setHandler([${methods.join(",")}], ${f}, ${activation});`, node, traversal);
}
}
exports.SetHandlerTranspiler = SetHandlerTranspiler;
//# sourceMappingURL=set_handler.js.map