Package soot.toolkits.graph

Toolkit to produce and manipulate various types CFG graphs.

See:
          Description

Interface Summary
DirectedGraph Defines the notion of a directed graph.
MutableDirectedGraph Defines a DirectedGraph which is modifiable.
 

Class Summary
ArrayRefBlockGraph Represents a CFG for a Body instance where the nodes are Block instances, and where control flow associated with exceptions is ignored.
Block Represents BasicBlocks that partition a method body.
BlockGraph Implements a CFG for a Body instance where the nodes are Block instances.
BriefBlockGraph Represents a CFG for a Body instance where the nodes are Block instances, and where control flow associated with exceptions is ignored.
BriefUnitGraph Represents a CFG where the nodes are Unit instances, and where no edges are included to account for control flow associated with exceptions.
CompleteBlockGraph Represents a CFG where the nodes are Block instances, and where control flow associated with exceptions is taken into account.
CompleteUnitGraph Represents a CFG for a Body instance where the nodes are Unit instances, and where control flow associated with exceptions is taken into account.
HashMutableDirectedGraph HashMap based implementation of a MutableBlockGraph.
MemoryEfficientGraph A memory efficient version of HashMutableDirectedGraph, in the sense that throw-away objects passed as arguments will not be kept in the process of adding edges.
PseudoTopologicalOrderer Orders in pseudo-topological order, the nodes of a DirectedGraph instance.
ReversePseudoTopologicalOrderer Convenience class which returns a PseudoTopologicalOrderer with the mReversed flag set by default.
SlowPseudoTopologicalOrderer Provide the pseudo topological order of a graph's nodes.
StronglyConnectedComponents Identifies and provides an interface to query the strongly-connected components of DirectedGraph instances.
TrapUnitGraph Represents a CFG for a Body instance where the nodes are Unit instances, and where edges are added from statements inside an area of protection to the handler.
UnitGraph Represents a CFG where the nodes are Unit instances.
ZonedBlockGraph A CFG where the nodes are Block instances, and where exception boundries are taken into account when finding the Blocks for the provided Body.
 

Package soot.toolkits.graph Description

Toolkit to produce and manipulate various types CFG graphs. The CFG graphs can have as nodes any implementation of Directed; typically, Unit elements or Block elements. The latter corresponds to BasicBlocks of Units. Some of the classes produce UnitGraphs where the control flow for exceptions is taken into account, while others produce graphs abstracting away extra exception-related edges. All classes in this package should now be thread safe. (Thu Feb 10 00:03:48 EST 2000)