private static boolean isDirectFlowSuccessorOf(CFG.Block successor, CFG.Block block) { return successor != block.exitBlock() || (block.successors().size() == 1 && successor.isMethodExitBlock()); }
private static boolean isDirectFlowSuccessorOf(CFG.Block successor, CFG.Block block) { return successor != block.exitBlock() || (block.successors().size() == 1 && successor.isMethodExitBlock()); }
if (block.exitBlock() != null) { enqueue(new ProgramPoint(block.exitBlock()), programState, true); } else { for (CFG.Block successor : block.successors()) { for (CFG.Block successor : block.successors()) { if (!block.isFinallyBlock() || isDirectFlowSuccessorOf(successor, block)) { enqueue(new ProgramPoint(successor), programState, successor == block.exitBlock());
if (block.exitBlock() != null) { enqueue(new ProgramPoint(block.exitBlock()), programState, true); } else { for (CFG.Block successor : block.successors()) { for (CFG.Block successor : block.successors()) { if (!block.isFinallyBlock() || isDirectFlowSuccessorOf(successor, block)) { enqueue(new ProgramPoint(successor), programState, successor == block.exitBlock());
if(block.exitBlock() != null) { enqueue(new ExplodedGraph.ProgramPoint(block.exitBlock(), 0), programState, true); } else { for (CFG.Block successor : block.successors()) { if (!block.isFinallyBlock() || successor != block.exitBlock()) { enqueue(new ExplodedGraph.ProgramPoint(successor, 0), programState, successor == block.exitBlock());