protected Iterator<InstructionHandle> instructionIterator(BasicBlock bb) { if (isForwards) { return bb.instructionIterator(); } else { return bb.instructionReverseIterator(); } }
@Override public void transfer(BasicBlock basicBlock, @CheckForNull InstructionHandle end, Fact start, Fact result) throws DataflowAnalysisException { copy(start, result); if (isFactValid(result)) { Iterator<InstructionHandle> i = isForwards() ? basicBlock.instructionIterator() : basicBlock .instructionReverseIterator(); while (i.hasNext()) { InstructionHandle handle = i.next(); if (handle == end) { break; } if (DEBUG && end == null) { System.out.print("Transfer " + handle); } // Transfer the dataflow value transferInstruction(handle, basicBlock, result); if (DEBUG && end == null) { System.out.println(" ==> " + result.toString()); } } } }
protected Iterator<InstructionHandle> instructionIterator(BasicBlock bb) { if (isForwards) { return bb.instructionIterator(); } else { return bb.instructionReverseIterator(); } }
@Override public void transfer(BasicBlock basicBlock, @CheckForNull InstructionHandle end, Fact start, Fact result) throws DataflowAnalysisException { copy(start, result); if (isFactValid(result)) { Iterator<InstructionHandle> i = isForwards() ? basicBlock.instructionIterator() : basicBlock .instructionReverseIterator(); while (i.hasNext()) { InstructionHandle handle = i.next(); if (handle == end) { break; } if (DEBUG && end == null) { System.out.print("Transfer " + handle); } // Transfer the dataflow value transferInstruction(handle, basicBlock, result); if (DEBUG && end == null) { System.out.println(" ==> " + result.toString()); } } } }