public class NullnessStore extends InitializationStore<NullnessValue,NullnessStore>
Store.FlowRule, Store.Kind
Modifier and Type | Field and Description |
---|---|
protected boolean |
isPolyNullNull |
initializedFields
analysis, arrayValues, classValues, fieldValues, localVariableValues, methodValues, sequentialSemantics, thisValue
Constructor and Description |
---|
NullnessStore(CFAbstractAnalysis<NullnessValue,NullnessStore,?> analysis,
boolean sequentialSemantics) |
NullnessStore(NullnessStore s) |
Modifier and Type | Method and Description |
---|---|
protected void |
internalVisualize(CFGVisualizer<NullnessValue,NullnessStore,?> viz)
Adds a representation of the internal information of this store to
visualizer
viz . |
boolean |
isPolyNullNull() |
NullnessStore |
leastUpperBound(NullnessStore other)
Compute the least upper bound of two stores.
|
void |
setPolyNullNull(boolean isPolyNullNull) |
protected boolean |
supersetOf(CFAbstractStore<NullnessValue,NullnessStore> o)
Returns true iff this
CFAbstractStore contains a superset of the
map entries of the argument CFAbstractStore . |
addInitializedField, addInitializedField, getAnalysis, getFieldValues, insertValue, isFieldInitialized, updateForMethodCall
canAlias, canInsertReceiver, clearValue, copy, equals, getValue, getValue, getValue, getValue, getValue, getValue, initializeMethodParameter, initializeThisValue, insertThisValue, insertValue, isMonotonicUpdate, isSideEffectFree, removeConflicting, removeConflicting, removeConflicting, replaceValue, toString, updateForArrayAssignment, updateForAssignment, updateForFieldAccessAssignment, updateForLocalVariableAssignment, visualize
public NullnessStore(CFAbstractAnalysis<NullnessValue,NullnessStore,?> analysis, boolean sequentialSemantics)
public NullnessStore(NullnessStore s)
public NullnessStore leastUpperBound(NullnessStore other)
Store
Important: This method must fulfill the following contract:
this
.other
.this
, even if
the signature is more permissive.leastUpperBound
in interface Store<NullnessStore>
leastUpperBound
in class InitializationStore<NullnessValue,NullnessStore>
protected boolean supersetOf(CFAbstractStore<NullnessValue,NullnessStore> o)
CFAbstractStore
CFAbstractStore
contains a superset of the
map entries of the argument CFAbstractStore
. Note that we test
the entry keys and values by Java equality, not by any subtype
relationship. This method is used primarily to simplify the equals
predicate.supersetOf
in class InitializationStore<NullnessValue,NullnessStore>
protected void internalVisualize(CFGVisualizer<NullnessValue,NullnessStore,?> viz)
CFAbstractStore
viz
.internalVisualize
in class InitializationStore<NullnessValue,NullnessStore>
public boolean isPolyNullNull()
public void setPolyNullNull(boolean isPolyNullNull)