See: Description
Interface | Description |
---|---|
DirectedBodyGraph<N> | |
DirectedGraph<N> |
Defines the notion of a directed graph.
|
DominanceFrontier<N> |
Interface to compute and/or store the dominance frontiers of nodes in a dominator tree.
|
DominatorsFinder<N> |
General interface for a dominators analysis.
|
EdgeLabelledDirectedGraph<N,L> |
A
DirectedGraph with labels on the edges. |
ExceptionalGraph<N> |
Defines the interface for navigating a control flow graph which distinguishes exceptional control flow.
|
ExceptionalGraph.ExceptionDest<N> |
Data structure to represent the fact that a given
Trap will catch some subset of the exceptions which may be
thrown by a given graph node. |
MutableDirectedGraph<N> |
Defines a DirectedGraph which is modifiable.
|
MutableEdgeLabelledDirectedGraph<N,L> |
Defines a DirectedGraph which is modifiable and associates a label object with every edge.
|
Orderer<N> |
An orderer builds an order on a directed, not necessarily acyclic, graph.
|
ReversibleGraph<N> |
DirectedGraph which can be reversed and re-reversed.
|
Class | Description |
---|---|
ArrayRefBlockGraph | |
Block |
Represents BasicBlocks that partition a method body.
|
BlockGraph |
Represents the control flow graph of a
Body at the basic block level. |
BlockGraphConverter |
This utility class can convert any BlockGraph to a single-headed and single-tailed graph by inserting appropriate Start or
Stop nodes.
|
BriefBlockGraph | |
BriefUnitGraph |
Represents a CFG where the nodes are Unit instances, and where no edges are included to account for control flow
associated with exceptions.
|
ClassicCompleteBlockGraph |
Represents a CFG where the nodes are
Block s and the edges are derived from control flow. |
ClassicCompleteUnitGraph |
Represents a CFG for a Body instance where the nodes are
Unit instances, and where edges are a conservative
indication of unexceptional and exceptional control flow. |
CompleteBlockGraph | |
CompleteUnitGraph | |
CytronDominanceFrontier<N> |
Class to compute the DominanceFrontier using Cytron's celebrated efficient algorithm.
|
DominatorAnalysis | Deprecated
use
MHGDominatorsFinder instead |
DominatorNode<N> |
Represents a dominator node in DominatorTree.
|
DominatorTree<N> |
Constructs a dominator tree structure from the given DominatorsFinder.
|
DominatorTreeAdapter<N> |
This adapter provides a DirectedGraph interface to DominatorTree.
|
ExceptionalBlockGraph |
Represents a CFG where the nodes are
Block s and the edges are derived from control flow. |
ExceptionalBlockGraph.ExceptionDest | |
ExceptionalUnitGraph | |
ExceptionalUnitGraph.ExceptionDest | |
ExceptionalUnitGraphFactory | |
HashMutableDirectedGraph<N> |
HashMap based implementation of a MutableBlockGraph.
|
HashMutableEdgeLabelledDirectedGraph<N,L> |
HashMap based implementation of a MutableEdgeLabelledDirectedGraph.
|
HashMutableEdgeLabelledDirectedGraph.DGEdge<N> | |
HashReversibleGraph<N> |
A reversible version of HashMutableDirectedGraph
|
InverseGraph<N> |
An inverted graph of a directed graph.
|
LoopNestTree |
A loop nesting tree, implemented as a tree-map.
|
MemoryEfficientGraph<N> |
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.
|
MHGDominatorsFinder<N> |
Calculate dominators for basic blocks.
|
MHGPostDominatorsFinder<N> |
Post-dominators finder for multi-headed graph.
|
PostDominatorAnalysis | Deprecated
use
MHGPostDominatorsFinder instead |
PseudoTopologicalOrderer<N> |
Orders in pseudo-topological order, the nodes of a DirectedGraph instance.
|
ReversePseudoTopologicalOrderer<N> | Deprecated |
SimpleDominatorsFinder<N> |
Wrapper class for a simple dominators analysis based on a simple flow analysis algorithm.
|
SlowPseudoTopologicalOrderer<N> |
Provide the pseudo topological order of a graph's nodes.
|
StronglyConnectedComponents | Deprecated
implementation is inefficient; use
StronglyConnectedComponentsFast instead |
StronglyConnectedComponentsFast<N> |
Identifies and provides an interface to query the strongly-connected components of DirectedGraph instances.
|
TrapUnitGraph | |
UnitGraph |
Represents a CFG where the nodes are
Unit instances and edges represent unexceptional and (possibly) exceptional
control flow between Units. |
ZonedBlockGraph |
A CFG where the nodes are
Block instances, and where exception boundaries are taken into account when finding the
Blocks for the provided Body. |
Unit
or Block
. The latter corresponds to basic blocks of
Unit
s. Some of the CFG classes include the control
flow corresponding to thrown exceptions, while others
abstract away exception-related edges.
Copyright © 2021 Soot OSS. All rights reserved.