public class LockAnalysis extends CFAbstractAnalysis<CFValue,LockStore,LockTransfer>
This class extends CFAbstractAnalysis so that LockStore is used rather than
CFStore.
AbstractAnalysis.WorklistAnalysis.BeforeOrAfter, Analysis.DirectionatypeFactory, checker, dependentTypesHelper, env, fieldValues, qualifierHierarchy, typeHierarchy, typesblockCount, elseStores, maxCountBeforeWidening, storesAtReturnStatements, thenStorescfg, currentInput, currentNode, currentTree, direction, finalLocalValues, inputs, isRunning, nodeValues, transferFunction, worklist| Constructor and Description |
|---|
LockAnalysis(BaseTypeChecker checker,
LockAnnotatedTypeFactory factory,
List<Pair<VariableElement,CFValue>> fieldValues) |
| Modifier and Type | Method and Description |
|---|---|
CFValue |
createAbstractValue(Set<AnnotationMirror> annotations,
TypeMirror underlyingType)
Returns an abstract value containing the given
annotations and underlyingType. |
LockStore |
createCopiedStore(LockStore s)
Returns an identical copy of the store
s. |
LockStore |
createEmptyStore(boolean sequentialSemantics)
Returns an empty store of the appropriate type.
|
LockTransfer |
createTransferFunction()
Returns the transfer function to be used by the analysis.
|
createAbstractValue, createSingleAnnotationValue, defaultCreateAbstractValue, getEnv, getFieldValues, getTypeFactory, getTypeHierarchy, getTypes, performAnalysisaddStoreBefore, callTransferFunction, getInput, getInputBefore, getReturnStatementStores, getStoreBefore, initFields, initInitialInputs, performAnalysis, performAnalysisBlock, propagateStoresTo, runAnalysisForaddToWorklist, getContainingClass, getContainingMethod, getCurrentTree, getDirection, getExceptionalExitStore, getNodesForTree, getNodeValues, getRegularExitStore, getResult, getTransferFunction, getValue, getValue, init, isRunning, readFromStore, setCurrentNode, setCurrentTree, updateNodeValuesclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDirection, getExceptionalExitStore, getRegularExitStore, getResult, getTransferFunction, getValue, getValue, isRunningpublic LockAnalysis(BaseTypeChecker checker, LockAnnotatedTypeFactory factory, List<Pair<VariableElement,CFValue>> fieldValues)
public LockTransfer createTransferFunction()
CFAbstractAnalysiscreateTransferFunction in class CFAbstractAnalysis<CFValue,LockStore,LockTransfer>public LockStore createEmptyStore(boolean sequentialSemantics)
CFAbstractAnalysiscreateEmptyStore in class CFAbstractAnalysis<CFValue,LockStore,LockTransfer>public LockStore createCopiedStore(LockStore s)
CFAbstractAnalysiss.createCopiedStore in class CFAbstractAnalysis<CFValue,LockStore,LockTransfer>spublic CFValue createAbstractValue(Set<AnnotationMirror> annotations, TypeMirror underlyingType)
CFAbstractAnalysisannotations and underlyingType.
Returns null if the annotation set has missing annotations.createAbstractValue in class CFAbstractAnalysis<CFValue,LockStore,LockTransfer>annotations and underlyingType