@abaplint/transpiler
Version:
29 lines • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FunctionExportingTranspiler = void 0;
const abaplint = require("@abaplint/core");
const chunk_1 = require("../chunk");
class FunctionExportingTranspiler {
transpile(node, traversal) {
const parameters = [];
let chunk = new chunk_1.Chunk();
for (const parameter of node.getChildren()) {
for (const child of parameter.getChildren()) {
if (child.getFirstToken().getStr() === "=") {
chunk.appendString(": ");
}
else if (child.get() instanceof abaplint.Expressions.ParameterName) {
chunk = new chunk_1.Chunk();
chunk.appendChunk(traversal.traverse(child));
}
else {
chunk.appendChunk(traversal.traverse(child));
parameters.push(chunk);
}
}
}
return new chunk_1.Chunk().appendString("{").join(parameters).appendString("}");
}
}
exports.FunctionExportingTranspiler = FunctionExportingTranspiler;
//# sourceMappingURL=function_exporting.js.map