NullnessAnalysis INSTEAD!@Deprecated public class BranchedRefVarsAnalysis extends ForwardBranchedFlowAnalysis<FlowSet<RefIntPair>>
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<RefIntPair> f)
Deprecated.
|
protected void |
copy(FlowSet<RefIntPair> source,
FlowSet<RefIntPair> dest)
Deprecated.
Creates a copy of the
source flow object in dest. |
protected FlowSet<RefIntPair> |
entryInitialFlow()
Deprecated.
Returns the initial flow value for entry/exit graph nodes.
|
protected void |
flowThrough(FlowSet<RefIntPair> in,
Unit stmt,
List<FlowSet<RefIntPair>> outFall,
List<FlowSet<RefIntPair>> outBranch)
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 void |
merge(FlowSet<RefIntPair> in1,
FlowSet<RefIntPair> in2,
FlowSet<RefIntPair> out)
Deprecated.
Compute the merge of the
in1 and in2 sets, putting the result into out. |
protected FlowSet<RefIntPair> |
newInitialFlow()
Deprecated.
Returns the flow object corresponding to the initial values for each graph node.
|
protected int |
refInfo(EquivalentValue r,
FlowSet<RefIntPair> 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 final FlowSet<RefIntPair> emptySet
protected final FlowSet<RefIntPair> fullSet
protected final Map<Unit,FlowSet<RefIntPair>> unitToGenerateSet
protected final Map<Unit,FlowSet<RefIntPair>> unitToPreserveSet
protected final Map<Unit,HashSet<Value>> unitToAnalyzedChecksSet
protected final Map<Unit,HashSet<Value>> unitToArrayRefChecksSet
protected final Map<Unit,HashSet<Value>> unitToInstanceFieldRefChecksSet
protected final Map<Unit,HashSet<Value>> unitToInstanceInvokeExprChecksSet
protected final Map<Unit,HashSet<Value>> unitToLengthExprChecksSet
protected final List<EquivalentValue> refTypeLocals
protected final List<EquivalentValue> refTypeInstFields
protected final List<EquivalentValue> refTypeInstFieldBases
protected final List<EquivalentValue> refTypeStaticFields
protected final List<EquivalentValue> refTypeValues
protected FlowSet<RefIntPair> tempFlowSet
@Deprecated public BranchedRefVarsAnalysis(UnitGraph g)
NullnessAnalysis INSTEAD!public EquivalentValue getEquivalentValue(Value v)
public RefIntPair getKRefIntPair(EquivalentValue r, int v)
protected final int refInfo(EquivalentValue r, FlowSet<RefIntPair> fs)
public final int anyRefInfo(Value r, FlowSet<RefIntPair> f)
protected void flowThrough(FlowSet<RefIntPair> in, Unit stmt, List<FlowSet<RefIntPair>> outFall, List<FlowSet<RefIntPair>> outBranch)
BranchedFlowAnalysisin sets, compute the fallOut and branchOuts set for
s.flowThrough in class BranchedFlowAnalysis<Unit,FlowSet<RefIntPair>>protected void merge(FlowSet<RefIntPair> in1, FlowSet<RefIntPair> in2, FlowSet<RefIntPair> 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 AbstractFlowAnalysis<Unit,FlowSet<RefIntPair>>protected void copy(FlowSet<RefIntPair> source, FlowSet<RefIntPair> dest)
AbstractFlowAnalysissource flow object in dest.copy in class AbstractFlowAnalysis<Unit,FlowSet<RefIntPair>>protected FlowSet<RefIntPair> newInitialFlow()
AbstractFlowAnalysisnewInitialFlow in class AbstractFlowAnalysis<Unit,FlowSet<RefIntPair>>protected FlowSet<RefIntPair> entryInitialFlow()
AbstractFlowAnalysisAbstractFlowAnalysis.newInitialFlow()entryInitialFlow in class AbstractFlowAnalysis<Unit,FlowSet<RefIntPair>>public boolean treatTrapHandlersAsEntries()
AbstractFlowAnalysisentryInitialFlow() is applied to trap handlers.treatTrapHandlersAsEntries in class AbstractFlowAnalysis<Unit,FlowSet<RefIntPair>>Copyright © 2024 Soot OSS. All rights reserved.