public class ClassicCompleteBlockGraph extends BlockGraph
Represents a CFG where the nodes are Blocks 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 Units into Blocks.
| Constructor and Description |
|---|
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. |
buildBlocks, computeLeaders, getBlocks, getBody, getHeads, getPredsOf, getSuccsOf, getTails, iterator, size, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic 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
Units into Blocks. 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.Copyright © 2020 Soot OSS. All rights reserved.