UNPKG

@abaplint/transpiler

Version:
34 lines 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SQLFieldTranspiler = void 0; const abaplint = require("@abaplint/core"); const chunk_1 = require("../chunk"); const sql_field_name_1 = require("./sql_field_name"); const field_chain_1 = require("./field_chain"); class SQLFieldTranspiler { transpile(node, traversal) { const chunk = new chunk_1.Chunk(); for (const c of node.getChildren()) { if (c instanceof abaplint.Nodes.TokenNode) { const concat = c.concatTokens(); if (concat === "@") { continue; } // keywords chunk.appendString(c.concatTokens() + " "); } else if (c.get() instanceof abaplint.Expressions.SQLFieldName) { chunk.appendChunk(new sql_field_name_1.SQLFieldNameTranspiler().transpile(c, traversal)); } else if (c.get() instanceof abaplint.Expressions.SimpleFieldChain2) { chunk.appendString(`'" + ` + new field_chain_1.FieldChainTranspiler().transpile(c, traversal).getCode() + `.get() + "' `); } else { chunk.appendString(c.concatTokens() + " "); } } return chunk; } } exports.SQLFieldTranspiler = SQLFieldTranspiler; //# sourceMappingURL=sql_field.js.map