edu.umd.cs.findbugs.ba
Class AbstractBlockOrder

java.lang.Object
  extended by edu.umd.cs.findbugs.ba.AbstractBlockOrder
All Implemented Interfaces:
BlockOrder
Direct Known Subclasses:
ReverseDFSOrder, ReversePostfixOrder

public abstract class AbstractBlockOrder
extends java.lang.Object
implements BlockOrder

Abstract base class for BlockOrder variants. It allows the subclass to specify just a Comparator for BasicBlocks, and handles the work of doing the sorting and providing Iterators.

See Also:
BlockOrder

Field Summary
private  java.util.ArrayList<BasicBlock> blockList
           
 
Constructor Summary
AbstractBlockOrder(CFG cfg, java.util.Comparator<BasicBlock> comparator)
           
 
Method Summary
 java.util.Iterator<BasicBlock> blockIterator()
          Return an Iterator which visits the basic blocks in order.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

blockList

private java.util.ArrayList<BasicBlock> blockList
Constructor Detail

AbstractBlockOrder

public AbstractBlockOrder(CFG cfg,
                          java.util.Comparator<BasicBlock> comparator)
Method Detail

blockIterator

public java.util.Iterator<BasicBlock> blockIterator()
Description copied from interface: BlockOrder
Return an Iterator which visits the basic blocks in order.

Specified by:
blockIterator in interface BlockOrder