UNPKG

@abaplint/transpiler

Version:
30 lines 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TablesTranspiler = void 0; const abaplint = require("@abaplint/core"); const transpile_types_1 = require("../transpile_types"); const chunk_1 = require("../chunk"); class TablesTranspiler { transpile(node, traversal) { const token = node.findFirstExpression(abaplint.Expressions.Field)?.getFirstToken(); if (token === undefined) { throw new Error("TablesTranspiler, token not found"); } const scope = traversal.findCurrentScopeByToken(token); if (scope === undefined) { throw new Error("TablesTranspiler, scope not found"); } const found = scope.findVariable(token.getStr()); if (found === undefined) { throw new Error("TablesTranspiler, var not found, \"" + token.getStr() + "\""); } const ret = new chunk_1.Chunk() .appendString("let ") .append(found.getName().toLowerCase(), token, traversal) .appendString(" = " + new transpile_types_1.TranspileTypes().toType(found.getType())) .append(";", node.getLastToken(), traversal); return ret; } } exports.TablesTranspiler = TablesTranspiler; //# sourceMappingURL=tables.js.map