public class LockStore extends CFAbstractStore<CFValue,LockStore>
Store.FlowRule, Store.Kind| Modifier and Type | Field and Description |
|---|---|
protected boolean |
inConstructorOrInitializer |
protected AnnotationMirror |
LOCKHELD |
analysis, arrayValues, classValues, fieldValues, localVariableValues, methodValues, sequentialSemantics, thisValue| Constructor and Description |
|---|
LockStore(CFAbstractAnalysis<CFValue,LockStore,?> analysis,
boolean sequentialSemantics) |
LockStore(CFAbstractAnalysis<CFValue,LockStore,?> analysis,
CFAbstractStore<CFValue,LockStore> other)
Copy constructor.
|
| Modifier and Type | Method and Description |
|---|---|
@Nullable CFValue |
getValue(FlowExpressions.Receiver expr) |
void |
insertExactValue(FlowExpressions.Receiver r,
AnnotationMirror a) |
void |
insertExactValue(FlowExpressions.Receiver r,
CFValue value) |
protected void |
internalDotOutput(StringBuilder result)
Adds a DOT representation of the internal information of this store to
result. |
LockStore |
leastUpperBound(LockStore other)
Compute the least upper bound of two stores.
|
void |
setInConstructorOrInitializer() |
canAlias, canInsertReceiver, clearValue, copy, equals, escapeDoubleQuotes, getValue, getValue, getValue, getValue, getValue, hasDOToutput, initializeMethodParameter, initializeThisValue, insertThisValue, insertValue, insertValue, isSideEffectFree, removeConflicting, removeConflicting, removeConflicting, replaceValue, supersetOf, toDOToutput, toString, toStringEscapeDoubleQuotes, updateForArrayAssignment, updateForAssignment, updateForFieldAccessAssignment, updateForLocalVariableAssignment, updateForMethodCallprotected boolean inConstructorOrInitializer
protected final AnnotationMirror LOCKHELD
public LockStore(CFAbstractAnalysis<CFValue,LockStore,?> analysis, boolean sequentialSemantics)
public LockStore(CFAbstractAnalysis<CFValue,LockStore,?> analysis, CFAbstractStore<CFValue,LockStore> other)
public LockStore leastUpperBound(LockStore other)
StoreImportant: This method must fulfill the following contract:
this.other.this, even if
the signature is more permissive.leastUpperBound in interface Store<LockStore>leastUpperBound in class CFAbstractStore<CFValue,LockStore>public void insertExactValue(FlowExpressions.Receiver r, AnnotationMirror a)
public void insertExactValue(FlowExpressions.Receiver r, CFValue value)
public void setInConstructorOrInitializer()
public @Nullable CFValue getValue(FlowExpressions.Receiver expr)
getValue in class CFAbstractStore<CFValue,LockStore>null if
no information is available.protected void internalDotOutput(StringBuilder result)
result.internalDotOutput in class CFAbstractStore<CFValue,LockStore>