public class CompleteBlockGraph extends ExceptionalBlockGraph
Represents a CFG for a Body
instance where the nodes
are Block
instances, and where control flow associated with
exceptions is taken into account. When dividing the Body
into
basic blocks,
CompleteBlockGraph
assumes that every Unit
covered by a
Trap
has the potential to throw an
exception caught by the Trap
. This generally has the effect of
separating every covered Unit
into a separate block.
This implementation of CompleteBlockGraph
is included
for backwards compatibility, but the graphs it produces are not
necessarily identical to the graphs produced by the implementation of
CompleteBlockGraph
See the documentation for
CompleteUnitGraph
for details of the incompatibilities.
ExceptionalBlockGraph.ExceptionDest
Constructor and Description |
---|
CompleteBlockGraph(Body b) |
buildBlocks, getExceptionalPredsOf, getExceptionalSuccsOf, getExceptionDests, getUnexceptionalPredsOf, getUnexceptionalSuccsOf
computeLeaders, getBlocks, getBody, getHeads, getPredsOf, getSuccsOf, getTails, iterator, size, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getBody
getHeads, getPredsOf, getSuccsOf, getTails, iterator, size
public CompleteBlockGraph(Body b)