|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object soot.toolkits.graph.BlockGraph soot.toolkits.graph.ClassicCompleteBlockGraph
public class ClassicCompleteBlockGraph
Represents a CFG where the nodes are Block
s and the
edges are derived from control flow. Control flow associated with
exceptions is taken into account: when a Unit may throw
an exception that is caught by a Trap
within the
Body, the excepting Unit starts a new basic
block.
ClassicCompleteBlockGraph approximates the results
that would have been produced by Soot's CompleteBlockGraph
in releases up to Soot 2.1.0. It is included solely for testing
purposes, and should not be used in actual analyses. The approximation
works not by duplicating the old CompleteBlockGraph
's logic,
but by using ClassicCompleteUnitGraph
as the basis for
dividing Unit
s into Block
s.
Field Summary |
---|
Fields inherited from class soot.toolkits.graph.BlockGraph |
---|
mBlocks, mBody, mHeads, mTails, mUnits |
Constructor Summary | |
---|---|
ClassicCompleteBlockGraph(Body body)
Constructs a ClassicCompleteBlockGraph for the blocks found by partitioning the the units of the provided Body instance into basic blocks. |
|
ClassicCompleteBlockGraph(ClassicCompleteUnitGraph unitGraph)
Constructs a graph for the blocks found by partitioning the the units in a ClassicCompleteUnitGraph . |
Method Summary |
---|
Methods inherited from class soot.toolkits.graph.BlockGraph |
---|
buildBlocks, computeLeaders, getBlocks, getBody, getHeads, getPredsOf, getSuccsOf, getTails, iterator, size, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ClassicCompleteBlockGraph(Body body)
Constructs a ClassicCompleteBlockGraph for the blocks
found by partitioning the the units of the provided
Body
instance into basic blocks.
Note that this constructor builds a ClassicCompleteUnitGraph
internally when splitting body's
Unit
s into Block
s. Callers who already have
a ClassicCompleteUnitGraph
to hand can use the constructor
taking a ClassicCompleteUnitGraph as a parameter, as a
minor optimization.
body
- The underlying body we want to make a graph for.public ClassicCompleteBlockGraph(ClassicCompleteUnitGraph unitGraph)
ClassicCompleteUnitGraph
.
unitGraph
- A ClassicCompleteUnitGraph
built from
body. The CompleteBlockGraph constructor uses
the passed graph to split the body into
blocks.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |