public class ZonedBlockGraph extends BlockGraph
Block instances, and where
  exception boundaries are taken into account when finding the
  Blocks for the provided Body.  Any Unit which is
  the first Unit to be convered by some exception handler
  will start a new Block, and any | Constructor and Description | 
|---|
| ZonedBlockGraph(Body body)Constructs a ZonedBlockGraph for the Units
   comprising the passed  Body. | 
| ZonedBlockGraph(BriefUnitGraph unitGraph)Constructs a ZonedBlockGraph corresponding to the
   Unit-level control flow represented by the 
   passed  BriefUnitGraph. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected java.util.Set<Unit> | computeLeaders(UnitGraph unitGraph) | 
buildBlocks, getBlocks, getBody, getHeads, getPredsOf, getSuccsOf, getTails, iterator, size, toStringpublic ZonedBlockGraph(Body body)
Constructs a ZonedBlockGraph for the Units
   comprising the passed Body.
 Note that this constructor builds a BriefUnitGraph internally when splitting body's
   Units into Blocks.  Callers who need both a
   BriefUnitGraph and a ZonedBlockGraph
   can use the constructor taking the BriefUnitGraph as a
   parameter, as a minor optimization.
body - The Body for which to produce
                  a ZonedBlockGraph.public ZonedBlockGraph(BriefUnitGraph unitGraph)
BriefUnitGraph.unitGraph - The BriefUnitGraph for which to produce
                  a ZonedBlockGraph.protected java.util.Set<Unit> computeLeaders(UnitGraph unitGraph)
Utility method for computing the basic block leaders for a
 Body, given its UnitGraph (i.e., the
 instructions which begin new basic blocks).
 This implementation chooses as block leaders all
 the Units that BlockGraph.computerLeaders(),
 and adds:
 
computeLeaders in class BlockGraphunitGraph - is the Unit-level CFG which is to be split
 into basic blocks.Set of Units in unitGraph which
 are block leaders.