UNPKG

@abaplint/transpiler

Version:
27 lines 1.29 kB
"use strict"; 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