@abaplint/transpiler
Version:
20 lines • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RaiseEventTranspiler = void 0;
const abaplint = require("@abaplint/core");
const traversal_1 = require("../traversal");
const chunk_1 = require("../chunk");
const expressions_1 = require("../expressions");
class RaiseEventTranspiler {
transpile(node, traversal) {
const eventName = traversal_1.Traversal.escapeNamespace(node.findFirstExpression(abaplint.Expressions.EventName)?.concatTokens())?.toLowerCase().replace("~", "$");
const parameters = node.findFirstExpression(abaplint.Expressions.ParameterListS);
let extra = "";
if (parameters) {
extra = "," + new expressions_1.ParameterListSTranspiler().transpile(parameters, traversal).getCode();
}
return new chunk_1.Chunk().append(`await abap.statements.raiseEvent(this.${eventName}, this.me${extra});`, node, traversal);
}
}
exports.RaiseEventTranspiler = RaiseEventTranspiler;
//# sourceMappingURL=raise_event.js.map