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, unitToAfterFallFlow
filterUnitToBeforeFlow, 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, isForward
getBranchFlowAfter, getFallFlowAfter
getFlowBefore, merge, mergeInto
public 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)
BranchedFlowAnalysis
in
sets,
compute the fallOut
and branchOuts
set for s
.flowThrough
in class BranchedFlowAnalysis
protected void merge(java.lang.Object in1, java.lang.Object in2, java.lang.Object out)
AbstractFlowAnalysis
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.merge
in class AbstractFlowAnalysis
protected void copy(java.lang.Object source, java.lang.Object dest)
AbstractFlowAnalysis
source
flow object in dest
.copy
in class AbstractFlowAnalysis
protected java.lang.Object newInitialFlow()
AbstractFlowAnalysis
newInitialFlow
in class AbstractFlowAnalysis
protected java.lang.Object entryInitialFlow()
AbstractFlowAnalysis
AbstractFlowAnalysis.newInitialFlow()
entryInitialFlow
in class AbstractFlowAnalysis
public boolean treatTrapHandlersAsEntries()
AbstractFlowAnalysis
entryInitialFlow()
is applied to trap handlers.treatTrapHandlersAsEntries
in class AbstractFlowAnalysis