@abaplint/transpiler
Version:
25 lines • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReceiveTranspiler = void 0;
const abaplint = require("@abaplint/core");
const chunk_1 = require("../chunk");
class ReceiveTranspiler {
transpile(node, traversal) {
const fmchild = node.findDirectExpression(abaplint.Expressions.FunctionName)?.getFirstChild();
if (fmchild === undefined) {
throw new Error("ReceiveTranspilerNameNotFound");
}
const fmname = fmchild.concatTokens().toUpperCase();
let param = "";
const fmp = node.findDirectExpression(abaplint.Expressions.ReceiveParameters);
if (fmp) {
param = traversal.traverse(fmp).getCode();
param = param.replace("{", ",").replace(/}$/, "");
}
const ret = new chunk_1.Chunk();
ret.appendString(`abap.statements.receive({name:${fmname}${param}});`);
return ret;
}
}
exports.ReceiveTranspiler = ReceiveTranspiler;
//# sourceMappingURL=receive.js.map