NullnessAnalysis INSTEAD!@Deprecated public class BranchedRefVarsAnalysis extends ForwardBranchedFlowAnalysis
| Modifier and Type | Field and Description |
|---|---|
protected FlowSet |
emptySet
Deprecated.
|
protected FlowSet |
fullSet
Deprecated.
|
static int |
kBottom
Deprecated.
|
static int |
kNonNull
Deprecated.
|
static int |
kNull
Deprecated.
|
static int |
kTop
Deprecated.
|
protected java.util.List<EquivalentValue> |
refTypeInstFieldBases
Deprecated.
|
protected java.util.List<EquivalentValue> |
refTypeInstFields
Deprecated.
|
protected java.util.List<EquivalentValue> |
refTypeLocals
Deprecated.
|
protected java.util.List<EquivalentValue> |
refTypeStaticFields
Deprecated.
|
protected java.util.List<EquivalentValue> |
refTypeValues
Deprecated.
|
protected FlowSet |
tempFlowSet
Deprecated.
|
protected java.util.Map<Unit,java.util.HashSet<Value>> |
unitToAnalyzedChecksSet
Deprecated.
|
protected java.util.Map<Unit,java.util.HashSet<Value>> |
unitToArrayRefChecksSet
Deprecated.
|
protected java.util.Map<Unit,FlowSet> |
unitToGenerateSet
Deprecated.
|
protected java.util.Map<Unit,java.util.HashSet<Value>> |
unitToInstanceFieldRefChecksSet
Deprecated.
|
protected java.util.Map<Unit,java.util.HashSet<Value>> |
unitToInstanceInvokeExprChecksSet
Deprecated.
|
protected java.util.Map<Unit,java.util.HashSet<Value>> |
unitToLengthExprChecksSet
Deprecated.
|
protected java.util.Map<Unit,FlowSet> |
unitToPreserveSet
Deprecated.
|
unitToAfterBranchFlow, unitToAfterFallFlowfilterUnitToBeforeFlow, graph, unitToBeforeFlow| Constructor and Description |
|---|
BranchedRefVarsAnalysis(UnitGraph g)
Deprecated.
THIS IS KNOWN TO BE BUGGY. USE
NullnessAnalysis INSTEAD! |
| Modifier and Type | Method and Description |
|---|---|
int |
anyRefInfo(Value r,
FlowSet f)
Deprecated.
|
protected void |
copy(java.lang.Object source,
java.lang.Object dest)
Deprecated.
Creates a copy of the
source flow object in dest. |
protected java.lang.Object |
entryInitialFlow()
Deprecated.
Returns the initial flow value for entry/exit graph nodes.
|
protected void |
flowThrough(java.lang.Object inValue,
Unit stmt,
java.util.List outFallValue,
java.util.List outBranchValues)
Deprecated.
Given the merge of the
in sets,
compute the fallOut and branchOuts
set for s. |
EquivalentValue |
getEquivalentValue(Value v)
Deprecated.
|
RefIntPair |
getKRefIntPair(EquivalentValue r,
int v)
Deprecated.
|
protected boolean |
isAlwaysNonNull(Value ro)
Deprecated.
|
protected void |
merge(java.lang.Object in1,
java.lang.Object in2,
java.lang.Object out)
Deprecated.
Compute the merge of the
in1 and in2 sets, putting the result into out. |
protected java.lang.Object |
newInitialFlow()
Deprecated.
Returns the flow object corresponding to the initial values for
each graph node.
|
protected int |
refInfo(EquivalentValue r,
FlowSet fs)
Deprecated.
|
protected int |
refInfo(Value r,
FlowSet fs)
Deprecated.
|
boolean |
treatTrapHandlersAsEntries()
Deprecated.
Determines whether
entryInitialFlow()
is applied to trap handlers. |
doAnalysis, isForwardgetBranchFlowAfter, getFallFlowAftergetFlowBefore, merge, mergeIntopublic static final int kBottom
public static final int kNull
public static final int kNonNull
public static final int kTop
protected FlowSet emptySet
protected FlowSet fullSet
protected java.util.Map<Unit,java.util.HashSet<Value>> unitToAnalyzedChecksSet
protected java.util.Map<Unit,java.util.HashSet<Value>> unitToArrayRefChecksSet
protected java.util.Map<Unit,java.util.HashSet<Value>> unitToInstanceFieldRefChecksSet
protected java.util.Map<Unit,java.util.HashSet<Value>> unitToInstanceInvokeExprChecksSet
protected java.util.Map<Unit,java.util.HashSet<Value>> unitToLengthExprChecksSet
protected java.util.List<EquivalentValue> refTypeLocals
protected java.util.List<EquivalentValue> refTypeInstFields
protected java.util.List<EquivalentValue> refTypeInstFieldBases
protected java.util.List<EquivalentValue> refTypeStaticFields
protected java.util.List<EquivalentValue> refTypeValues
protected FlowSet tempFlowSet
@Deprecated public BranchedRefVarsAnalysis(UnitGraph g)
NullnessAnalysis INSTEAD!public EquivalentValue getEquivalentValue(Value v)
public RefIntPair getKRefIntPair(EquivalentValue r, int v)
protected boolean isAlwaysNonNull(Value ro)
protected final int refInfo(EquivalentValue r, FlowSet fs)
protected void flowThrough(java.lang.Object inValue,
Unit stmt,
java.util.List outFallValue,
java.util.List outBranchValues)
BranchedFlowAnalysisin sets,
compute the fallOut and branchOuts
set for s.flowThrough in class BranchedFlowAnalysisprotected void merge(java.lang.Object in1,
java.lang.Object in2,
java.lang.Object out)
AbstractFlowAnalysisin1 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.merge in class AbstractFlowAnalysisprotected void copy(java.lang.Object source,
java.lang.Object dest)
AbstractFlowAnalysissource flow object in dest.copy in class AbstractFlowAnalysisprotected java.lang.Object newInitialFlow()
AbstractFlowAnalysisnewInitialFlow in class AbstractFlowAnalysisprotected java.lang.Object entryInitialFlow()
AbstractFlowAnalysisAbstractFlowAnalysis.newInitialFlow()entryInitialFlow in class AbstractFlowAnalysispublic boolean treatTrapHandlersAsEntries()
AbstractFlowAnalysisentryInitialFlow()
is applied to trap handlers.treatTrapHandlersAsEntries in class AbstractFlowAnalysis