UNPKG

@abaplint/transpiler

Version:
28 lines 1.24 kB
"use strict"; 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