public class LockAnalysis extends CFAbstractAnalysis<CFValue,LockStore,LockTransfer>
This class extends CFAbstractAnalysis
so that LockStore
is used rather than
CFStore
.
Analysis.Worklist
atypeFactory, checker, dependentTypesHelper, fieldValues, qualifierHierarchy, typeHierarchy
blockCount, cfg, currentInput, currentNode, currentTree, elseStores, env, finalLocalValues, inputs, isRunning, maxCountBeforeWidening, nodeValues, storesAtReturnStatements, thenStores, transferFunction, types, 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) |
LockStore |
createCopiedStore(LockStore s) |
LockStore |
createEmptyStore(boolean sequentialSemantics) |
LockTransfer |
createTransferFunction() |
createAbstractValue, createSingleAnnotationValue, defaultCreateAbstractValue, getFieldValues, getTypeFactory, getTypeHierarchy, performAnalysis, visualizeCFG
addStoreBefore, addToWorklist, callTransferFunction, getContainingClass, getContainingMethod, getCurrentTree, getEnv, getExceptionalExitStore, getInput, getInputBefore, getNodesForTree, getNodeValues, getRegularExitStore, getResult, getReturnStatementStores, getStoreBefore, getTransferFunction, getTypes, getValue, getValue, init, isRunning, performAnalysis, performAnalysisBlock, propagateStoresTo, readFromStore, setCurrentTree, updateNodeValues
public LockAnalysis(BaseTypeChecker checker, LockAnnotatedTypeFactory factory, List<Pair<VariableElement,CFValue>> fieldValues)
public LockTransfer createTransferFunction()
createTransferFunction
in class CFAbstractAnalysis<CFValue,LockStore,LockTransfer>
public LockStore createEmptyStore(boolean sequentialSemantics)
createEmptyStore
in class CFAbstractAnalysis<CFValue,LockStore,LockTransfer>
public LockStore createCopiedStore(LockStore s)
createCopiedStore
in class CFAbstractAnalysis<CFValue,LockStore,LockTransfer>
s
.public CFValue createAbstractValue(Set<AnnotationMirror> annotations, TypeMirror underlyingType)
createAbstractValue
in class CFAbstractAnalysis<CFValue,LockStore,LockTransfer>
annotations
and underlyingType
.