soot.toolkits.scalar
Class InitAnalysis
java.lang.Object
soot.toolkits.scalar.AbstractFlowAnalysis
soot.toolkits.scalar.FlowAnalysis
soot.toolkits.scalar.ForwardFlowAnalysis
soot.toolkits.scalar.InitAnalysis
- public class InitAnalysis
- extends ForwardFlowAnalysis
An analysis to check whether or not local variables have been
initialised.
- Author:
- Ganesh Sittampalam
|
Method Summary |
protected void |
copy(Object source,
Object dest)
Creates a copy of the source flow object in dest. |
protected Object |
entryInitialFlow()
Returns the initial flow value for entry/exit graph nodes. |
protected void |
flowThrough(Object in,
Object unit,
Object out)
Given the merge of the out sets, compute the in set for s (or in to out, depending on direction). |
protected void |
merge(Object in1,
Object in2,
Object out)
Compute the merge of the in1 and in2 sets, putting the result into out. |
protected Object |
newInitialFlow()
Returns the flow object corresponding to the initial values for
each graph node. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
InitAnalysis
public InitAnalysis(UnitGraph g)
entryInitialFlow
protected Object entryInitialFlow()
- Description copied from class:
AbstractFlowAnalysis
- Returns the initial flow value for entry/exit graph nodes.
- Specified by:
entryInitialFlow in class AbstractFlowAnalysis
newInitialFlow
protected Object newInitialFlow()
- Description copied from class:
AbstractFlowAnalysis
- Returns the flow object corresponding to the initial values for
each graph node.
- Specified by:
newInitialFlow in class AbstractFlowAnalysis
flowThrough
protected void flowThrough(Object in,
Object unit,
Object out)
- Description copied from class:
FlowAnalysis
- Given the merge of the
out sets, compute the in set for s (or in to out, depending on direction).
- Specified by:
flowThrough in class FlowAnalysis
merge
protected void merge(Object in1,
Object in2,
Object out)
- Description copied from class:
AbstractFlowAnalysis
- Compute the merge of the
in1 and in2 sets, putting the result into out.
The behavior of this function depends on the implementation ( it may be necessary to check whether
in1 and in2 are equal or aliased ).
Used by the doAnalysis method.
- Specified by:
merge in class AbstractFlowAnalysis
copy
protected void copy(Object source,
Object dest)
- Description copied from class:
AbstractFlowAnalysis
- Creates a copy of the
source flow object in dest.
- Specified by:
copy in class AbstractFlowAnalysis