import { BasicBlock } from '../BasicBlock'; import { BlockBuilder } from './CfgBuilder'; /** * Builder for loop in CFG */ export declare class LoopBuilder { rebuildBlocksInLoop(blockBuilderToCfgBlock: Map, blocksContainLoopCondition: Set, basicBlockSet: Set, blockBuilders: BlockBuilder[]): void; private insertBeforeConditionBlockBuilder; private getBlockFromMap; private collectBlocksBeforeAndReenter; private getCollectedBlocks; private createAndLinkBlocks; private updatePredecessors; private getNewPrevBlocks; private updateConditionBlockBuilder; private finalizeInsertion; private findIteratorIdx; /** * Place the incrementor statements (e.g., i = i + 1) of a for-loop into the appropriate block. * If the loop body always exits (e.g., contains a return), there may be no re-entry block; * in that case the incrementor is dead code and is simply skipped. */ private adjustIncrementorStmts; } //# sourceMappingURL=LoopBuilder.d.ts.map