UNPKG

@abaplint/transpiler

Version:
30 lines 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TranslateTranspiler = void 0; const abaplint = require("@abaplint/core"); const expressions_1 = require("../expressions"); const chunk_1 = require("../chunk"); class TranslateTranspiler { transpile(node, traversal) { const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target)).getCode(); let type = ""; if (node.findDirectTokenByText("UPPER")) { type = `"UPPER"`; } else if (node.findDirectTokenByText("LOWER")) { type = `"LOWER"`; } else { const s = node.findDirectExpression(abaplint.Expressions.Source); if (s) { type = new expressions_1.SourceTranspiler(true).transpile(s, traversal).getCode(); } else { throw new Error("TranslateTranspiler, Source expression not found"); } } return new chunk_1.Chunk().append("abap.statements.translate(" + target + ", " + type + ");", node, traversal); } } exports.TranslateTranspiler = TranslateTranspiler; //# sourceMappingURL=translate.js.map