edu.umd.cs.findbugs.ba
Class CFG.LocationIterator

java.lang.Object
  extended by edu.umd.cs.findbugs.ba.CFG.LocationIterator
All Implemented Interfaces:
java.util.Iterator<Location>
Enclosing class:
CFG

private class CFG.LocationIterator
extends java.lang.Object
implements java.util.Iterator<Location>

An Iterator over the Locations in the CFG. Because of JSR subroutines, the same instruction may actually be part of multiple basic blocks (with different facts true in each, due to calling context). Locations specify both the instruction and the basic block.


Field Summary
private  java.util.Iterator<BasicBlock> blockIter
           
private  BasicBlock curBlock
           
private  java.util.Iterator<org.apache.bcel.generic.InstructionHandle> instructionIter
           
private  Location next
           
 
Constructor Summary
private CFG.LocationIterator()
           
 
Method Summary
private  void findNext()
           
 boolean hasNext()
           
 Location next()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

blockIter

private java.util.Iterator<BasicBlock> blockIter

curBlock

private BasicBlock curBlock

instructionIter

private java.util.Iterator<org.apache.bcel.generic.InstructionHandle> instructionIter

next

private Location next
Constructor Detail

CFG.LocationIterator

private CFG.LocationIterator()
Method Detail

hasNext

public boolean hasNext()
Specified by:
hasNext in interface java.util.Iterator<Location>

next

public Location next()
Specified by:
next in interface java.util.Iterator<Location>

remove

public void remove()
Specified by:
remove in interface java.util.Iterator<Location>

findNext

private void findNext()