import { BasicBlock } from '../BasicBlock'; import { BlockBuilder } from './CfgBuilder'; /** * Builder for if statement in CFG when the condition contains || or &&. */ export declare class IfBuilder { private cfgBlockToBlockBuilder; rebuildIf(basicBlockSet: Set, blockBuilderToCfgBlock: Map): void; private generateBlocksForComplexBooleanExpr; /** * Generate the corresponding control flow basic block for a logical OR (||) expression. */ private generateBlocksForOrExpr; /** * Generate the corresponding control flow basic block for a logical AND (&&) expression. */ private generateBlocksForAndExpr; private findOrOperator; private findAndOperator; private generateBlock; /** * Determine whether it represents if logic (not if else). * Loop conditions and if-without-else merge blocks share the false branch directly; * if-else keeps a distinct else entry whose only predecessor is the condition block. */ private isOnlyIf; private isLoopConditionBlock; } //# sourceMappingURL=IfBuilder.d.ts.map