@abaplint/transpiler
Version:
38 lines • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ArithOperatorTranspiler = void 0;
const chunk_1 = require("../chunk");
class ArithOperatorTranspiler {
transpile(node, traversal) {
let search = node.concatTokens().toUpperCase();
// macro workaround,
search = search.replace(/ /g, "");
switch (search) {
case "+":
return new chunk_1.Chunk().append("abap.operators.add", node, traversal);
case "-":
return new chunk_1.Chunk().append("abap.operators.minus", node, traversal);
case "*":
return new chunk_1.Chunk().append("abap.operators.multiply", node, traversal);
case "/":
return new chunk_1.Chunk().append("abap.operators.divide", node, traversal);
case "**":
return new chunk_1.Chunk().append("abap.operators.power", node, traversal);
case "DIV":
return new chunk_1.Chunk().append("abap.operators.div", node, traversal);
case "MOD":
return new chunk_1.Chunk().append("abap.operators.mod", node, traversal);
case "BIT-AND":
return new chunk_1.Chunk().append("abap.operators.bitand", node, traversal);
case "BIT-OR":
return new chunk_1.Chunk().append("abap.operators.bitor", node, traversal);
case "BIT-XOR":
return new chunk_1.Chunk().append("abap.operators.bitxor", node, traversal);
default:
console.dir(search);
return new chunk_1.Chunk().append(".ArithOperatorUnknown", node, traversal);
}
}
}
exports.ArithOperatorTranspiler = ArithOperatorTranspiler;
//# sourceMappingURL=arith_operator.js.map