Uses of Class
soot.toolkits.graph.UnitGraph

Packages that use UnitGraph
soot.jimple.toolkits.annotation.nullcheck Classes that carry out an analysis to determine whether or not null pointer checks are necessary. 
soot.jimple.toolkits.annotation.parity   
soot.jimple.toolkits.callgraph   
soot.jimple.toolkits.scalar.pre Particial redundency elimination. 
soot.shimple Public classes for the SSA Shimple intermediate representation. 
soot.toolkits.graph Toolkit to produce and manipulate various types of control flow graphs. 
soot.toolkits.scalar A number of scalar optimizations, and the flow analysis framework. 
soot.util Generally useful utility classes for Soot. 
 

Uses of UnitGraph in soot.jimple.toolkits.annotation.nullcheck
 

Methods in soot.jimple.toolkits.annotation.nullcheck with parameters of type UnitGraph
 BranchedRefVarsAnalysis NullCheckEliminator.AnalysisFactory.newAnalysis(UnitGraph g)
           
 

Constructors in soot.jimple.toolkits.annotation.nullcheck with parameters of type UnitGraph
BranchedRefVarsAnalysis(UnitGraph g)
          end of utility methods
 

Uses of UnitGraph in soot.jimple.toolkits.annotation.parity
 

Constructors in soot.jimple.toolkits.annotation.parity with parameters of type UnitGraph
ParityAnalysis(UnitGraph g, LiveLocals filter)
           
ParityAnalysis(UnitGraph g)
           
 

Uses of UnitGraph in soot.jimple.toolkits.callgraph
 

Constructors in soot.jimple.toolkits.callgraph with parameters of type UnitGraph
ClinitElimAnalysis(UnitGraph g)
           
 

Uses of UnitGraph in soot.jimple.toolkits.scalar.pre
 

Constructors in soot.jimple.toolkits.scalar.pre with parameters of type UnitGraph
EarliestnessComputation(UnitGraph unitGraph, UpSafetyAnalysis upSafe, DownSafetyAnalysis downSafe, SideEffectTester sideEffect)
          given an UpSafetyAnalysis and a DownSafetyAnalysis, performs the earliest-computation.
EarliestnessComputation(UnitGraph unitGraph, UpSafetyAnalysis upSafe, DownSafetyAnalysis downSafe, SideEffectTester sideEffect, FlowSet set)
          given an UpSafetyAnalysis and a DownSafetyAnalysis, performs the earliest-computation.
allows to share sets over multiple analyses (set-operations are usually more efficient, if the sets come from the same source).
LatestComputation(UnitGraph unitGraph, DelayabilityAnalysis delayed, Map equivRhsMap)
          given a DelayabilityAnalysis and the computations of each unit, calculates the latest computation-point for each expression.
LatestComputation(UnitGraph unitGraph, DelayabilityAnalysis delayed, Map equivRhsMap, BoundedFlowSet set)
          given a DelayabilityAnalysis and the computations of each unit, calculates the latest computation-point for each expression.
the equivRhsMap could be calculated on the fly, but it is very likely that it already exists (as similar maps are used for calculating Earliestness, Delayed,...
the shared set allows more efficient set-operations, when they the computation is merged with other analyses/computations.
 

Uses of UnitGraph in soot.shimple
 

Fields in soot.shimple declared as UnitGraph
protected  UnitGraph DefaultShimpleFactory.ug
           
 

Methods in soot.shimple that return UnitGraph
 UnitGraph DefaultShimpleFactory.getUnitGraph()
           
 UnitGraph ShimpleFactory.getUnitGraph()
           
 

Uses of UnitGraph in soot.toolkits.graph
 

Subclasses of UnitGraph in soot.toolkits.graph
 class BriefUnitGraph
          Represents a CFG where the nodes are Unit instances, and where no edges are included to account for control flow associated with exceptions.
 class 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.
 class 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.
 class ExceptionalUnitGraph
          Represents a control flow graph for a Body instance where the nodes are Unit instances, and where control flow associated with exceptions is taken into account.
 class TrapUnitGraph
           Represents a CFG for a Body instance where the nodes are Unit instances, and where, in additional to unexceptional control flow edges, edges are added from every trapped Unit to the Trap's handler Unit, regardless of whether the trapped Units may actually throw the exception caught by the Trap.
 

Methods in soot.toolkits.graph with parameters of type UnitGraph
protected  Set ArrayRefBlockGraph.computeLeaders(UnitGraph unitGraph)
          Utility method for computing the basic block leaders for a Body, given its UnitGraph (i.e., the instructions which begin new basic blocks).
protected  Set BlockGraph.computeLeaders(UnitGraph unitGraph)
          Utility method for computing the basic block leaders for a Body, given its UnitGraph (i.e., the instructions which begin new basic blocks).
protected  Map BlockGraph.buildBlocks(Set leaders, UnitGraph unitGraph)
          A utility method that does most of the work of constructing basic blocks, once the set of block leaders has been determined, and which designates the heads and tails of the graph.
protected  Map ExceptionalBlockGraph.buildBlocks(Set leaders, UnitGraph uncastUnitGraph)
          

A utility method that does most of the work of constructing basic blocks, once the set of block leaders has been determined, and which designates the heads and tails of the graph.

BlockGraph provides an implementation of buildBlocks() which splits the Units in unitGraph so that each Unit in the passed set of block leaders is the first unit in a block. It defines as heads the blocks which begin with Units which are heads in unitGraph, and defines as tails the blocks which end with Units which are tails in unitGraph. Subclasses might override this behavior. This implementation calls the inherited implementation to split units into blocks, before adding the distinctions between exceptional and unexceptional control flow.

protected  Set ZonedBlockGraph.computeLeaders(UnitGraph unitGraph)
          Utility method for computing the basic block leaders for a Body, given its UnitGraph (i.e., the instructions which begin new basic blocks).
 

Constructors in soot.toolkits.graph with parameters of type UnitGraph
BlockGraph(UnitGraph unitGraph)
          Create a BlockGraph representing at the basic block level the control flow specified, at the Unit level, by a given UnitGraph.
DominatorAnalysis(UnitGraph g)
           
 

Uses of UnitGraph in soot.toolkits.scalar
 

Methods in soot.toolkits.scalar with parameters of type UnitGraph
static CombinedAnalysis CombinedDUAnalysis.v(UnitGraph graph)
           
 

Constructors in soot.toolkits.scalar with parameters of type UnitGraph
BranchedFlowAnalysis(UnitGraph graph)
           
ForwardBranchedFlowAnalysis(UnitGraph graph)
           
GuaranteedDefs(UnitGraph graph)
           
InitAnalysis(UnitGraph g)
           
SimpleLiveLocals(UnitGraph graph)
          Computes the analysis given a UnitGraph computed from a method body.
SimpleLocalDefs(UnitGraph g)
          Computes the analysis given a UnitGraph computed from a method body.
SimpleLocalUses(UnitGraph graph, LocalDefs localDefs)
          Construct the analysis from a UnitGraph representation of a method body and a LocalDefs interface.
SmartLocalDefs(UnitGraph g, LiveLocals live)
           
 

Uses of UnitGraph in soot.util
 

Constructors in soot.util with parameters of type UnitGraph
UnitMap(UnitGraph g)
          maps each unit of the graph to the result of mapTo.
before the mapping the method init is called.
the internal hashtable is initialized without any parameter.
UnitMap(UnitGraph g, int initialCapacity)
          maps each unit of the graph to the result of mapTo.
before the mapping the method init is called.
the internal hashtable is initialized to initialCapacity.
UnitMap(UnitGraph g, int initialCapacity, float loadFactor)
          maps each unit of the graph to the result of mapTo.
before the mapping the method init is called.
the internal hashtable is initialized to initialCapacity and loadFactor.