@abaplint/transpiler
Version:
32 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SQLFromTranspiler = void 0;
const abaplint = require("@abaplint/core");
const chunk_1 = require("../chunk");
const sql_join_1 = require("./sql_join");
const sql_from_source_1 = require("./sql_from_source");
class SQLFromTranspiler {
transpile(node, traversal) {
const chunk = new chunk_1.Chunk();
for (const c of node.getChildren()) {
if (c instanceof abaplint.Nodes.TokenNode) {
// keywords
chunk.appendString(c.concatTokens() + " ");
}
else if (c.get() instanceof abaplint.Expressions.SQLJoin) {
chunk.appendChunk(new sql_join_1.SQLJoinTranspiler().transpile(c, traversal));
chunk.appendString(" ");
}
else if (c.get() instanceof abaplint.Expressions.SQLFromSource) {
chunk.appendChunk(new sql_from_source_1.SQLFromSourceTranspiler().transpile(c, traversal));
}
else {
const concat = c.concatTokens();
chunk.appendString(concat + " ");
}
}
return chunk;
}
}
exports.SQLFromTranspiler = SQLFromTranspiler;
//# sourceMappingURL=sql_from.js.map