@abaplint/transpiler
Version:
35 lines • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MethodParametersTranspiler = void 0;
const core_1 = require("@abaplint/core");
const chunk_1 = require("../chunk");
class MethodParametersTranspiler {
transpile(node, traversal) {
const ret = new chunk_1.Chunk("{");
for (const s of node.findAllExpressions(core_1.Expressions.ParameterS)) {
if (ret.getCode() !== "{") {
ret.appendString(",");
}
ret.appendChunk(traversal.traverse(s));
}
const receiving = node.findExpressionAfterToken("RECEIVING");
for (const t of node.findAllExpressions(core_1.Expressions.ParameterT)) {
if (t === receiving) {
continue;
}
if (ret.getCode() !== "{") {
ret.appendString(",");
}
ret.appendChunk(traversal.traverse(t));
}
ret.appendString("}");
if (ret.getCode() === "{}") {
return new chunk_1.Chunk();
}
else {
return ret;
}
}
}
exports.MethodParametersTranspiler = MethodParametersTranspiler;
//# sourceMappingURL=method_parameters.js.map