@abaplint/transpiler
Version:
32 lines • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FunctionParametersTranspiler = void 0;
const chunk_1 = require("../chunk");
class FunctionParametersTranspiler {
transpile(node, traversal) {
const params = {};
const ex = node.findExpressionAfterToken("EXPORTING");
if (ex) {
params.exporting = traversal.traverse(ex).getCode();
}
const im = node.findExpressionAfterToken("IMPORTING");
if (im) {
params.importing = traversal.traverse(im).getCode();
}
const ta = node.findExpressionAfterToken("TABLES");
if (ta) {
params.tables = traversal.traverse(ta).getCode();
}
const ch = node.findExpressionAfterToken("CHANGING");
if (ch) {
params.changing = traversal.traverse(ch).getCode();
}
const ret = [];
for (const p of Object.keys(params)) {
ret.push(p + ": " + params[p]);
}
return new chunk_1.Chunk(`{${ret.join(", ")}}`);
}
}
exports.FunctionParametersTranspiler = FunctionParametersTranspiler;
//# sourceMappingURL=function_parameters.js.map