Package edu.umd.cs.findbugs.ba
Class AbstractBlockOrder
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.AbstractBlockOrder
-
- All Implemented Interfaces:
BlockOrder
- Direct Known Subclasses:
ReverseDFSOrder
,ReversePostOrder
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
-
-
Constructor Summary
Constructors Constructor Description AbstractBlockOrder(CFG cfg, java.util.Comparator<BasicBlock> comparator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Iterator<BasicBlock>
blockIterator()
Return an Iterator which visits the basic blocks in order.int
compare(BasicBlock b1, BasicBlock b2)
Return relative order of blocks.
-
-
-
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 interfaceBlockOrder
-
compare
public int compare(BasicBlock b1, BasicBlock b2)
Description copied from interface:BlockOrder
Return relative order of blocks. If b1.compareTo(b2) < 0, then b1 should occur before b2 in iteration.- Specified by:
compare
in interfaceBlockOrder
-
-