@abaplint/transpiler
Version:
28 lines • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WhileTranspiler = void 0;
const abaplint = require("@abaplint/core");
const chunk_1 = require("../chunk");
const statements_1 = require("../statements");
const unique_identifier_1 = require("../unique_identifier");
class WhileTranspiler {
transpile(node, traversal) {
const ret = new chunk_1.Chunk();
const syIndexBackup = unique_identifier_1.UniqueIdentifier.getIndexBackup();
for (const c of node.getChildren()) {
if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.While) {
ret.appendChunk(new statements_1.WhileTranspiler(syIndexBackup).transpile(c, traversal));
ret.appendString("\n");
}
else if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.EndWhile) {
ret.appendChunk(new statements_1.EndWhileTranspiler(syIndexBackup).transpile(c, traversal));
}
else {
ret.appendChunk(traversal.traverse(c));
}
}
return ret;
}
}
exports.WhileTranspiler = WhileTranspiler;
//# sourceMappingURL=while.js.map