soot.toolkits.scalar
Class FlowAnalysis
java.lang.Object
|
+--soot.toolkits.scalar.AbstractFlowAnalysis
|
+--soot.toolkits.scalar.FlowAnalysis
- Direct Known Subclasses:
- BackwardFlowAnalysis, ForwardFlowAnalysis
- public abstract class FlowAnalysis
- extends AbstractFlowAnalysis
An abstract class providing a framework for carrying out dataflow analysis.
Subclassing either BackwardFlowAnalysis or ForwardFlowAnalysis and providing
implementations for the abstract methods will allow Soot to compute the
corresponding flow analysis.
Field Summary |
protected java.util.Map |
unitToAfterFlow
Maps graph nodes to OUT sets. |
Method Summary |
protected abstract void |
flowThrough(java.lang.Object in,
java.lang.Object d,
java.lang.Object out)
Given the merge of the out sets, compute the in set for s (or in to out, depending on direction). |
java.lang.Object |
getFlowAfter(java.lang.Object s)
Accessor function returning value of OUT set for s. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
unitToAfterFlow
protected java.util.Map unitToAfterFlow
- Maps graph nodes to OUT sets.
FlowAnalysis
public FlowAnalysis(DirectedGraph graph)
- Constructs a flow analysis on the given
DirectedGraph
.
flowThrough
protected abstract void flowThrough(java.lang.Object in,
java.lang.Object d,
java.lang.Object out)
- Given the merge of the
out
sets, compute the in
set for s
(or in to out, depending on direction).
getFlowAfter
public java.lang.Object getFlowAfter(java.lang.Object s)
- Accessor function returning value of OUT set for s.