Class LockAnalysis
java.lang.Object
org.checkerframework.dataflow.analysis.AbstractAnalysis<V,S,T>
org.checkerframework.dataflow.analysis.ForwardAnalysisImpl<V,S,T>
org.checkerframework.framework.flow.CFAbstractAnalysis<CFValue,LockStore,LockTransfer>
org.checkerframework.checker.lock.LockAnalysis
- All Implemented Interfaces:
Analysis<CFValue,
,LockStore, LockTransfer> ForwardAnalysis<CFValue,
LockStore, LockTransfer>
The analysis class for the lock type system.
This class extends CFAbstractAnalysis
so that LockStore
is used rather than
CFStore
.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.checkerframework.framework.flow.CFAbstractAnalysis
CFAbstractAnalysis.FieldInitialValue<V extends CFAbstractValue<V>>
Nested classes/interfaces inherited from class org.checkerframework.dataflow.analysis.AbstractAnalysis
AbstractAnalysis.Worklist
Nested classes/interfaces inherited from interface org.checkerframework.dataflow.analysis.Analysis
Analysis.BeforeOrAfter, Analysis.Direction
-
Field Summary
Fields inherited from class org.checkerframework.framework.flow.CFAbstractAnalysis
atypeFactory, checker, dependentTypesHelper, env, fieldValues, qualifierHierarchy, typeHierarchy, types
Fields inherited from class org.checkerframework.dataflow.analysis.ForwardAnalysisImpl
blockCount, elseStores, maxCountBeforeWidening, storesAtReturnStatements, thenStores
Fields inherited from class org.checkerframework.dataflow.analysis.AbstractAnalysis
cfg, currentInput, currentNode, currentTree, direction, finalLocalValues, inputs, isRunning, nodeValues, transferFunction, worklist
-
Constructor Summary
ConstructorDescriptionLockAnalysis
(BaseTypeChecker checker, LockAnnotatedTypeFactory factory) Creates a newLockAnalysis
. -
Method Summary
Modifier and TypeMethodDescriptioncreateAbstractValue
(AnnotationMirrorSet annotations, TypeMirror underlyingType) Returns an abstract value containing the givenannotations
andunderlyingType
.Returns an identical copy of the stores
.createEmptyStore
(boolean sequentialSemantics) Returns an empty store of the appropriate type.Returns the transfer function to be used by the analysis.Methods inherited from class org.checkerframework.framework.flow.CFAbstractAnalysis
createAbstractValue, createSingleAnnotationValue, defaultCreateAbstractValue, getEnv, getFieldInitialValues, getTypeFactory, getTypeHierarchy, getTypes, performAnalysis
Methods inherited from class org.checkerframework.dataflow.analysis.ForwardAnalysisImpl
addStoreBefore, callTransferFunction, getInput, getInputBefore, getReturnStatementStores, getStoreBefore, initFields, initInitialInputs, performAnalysis, performAnalysisBlock, propagateStoresTo, runAnalysisFor
Methods inherited from class org.checkerframework.dataflow.analysis.AbstractAnalysis
addToWorklist, getContainingClass, getContainingMethod, getCurrentTree, getDirection, getExceptionalExitStore, getNodesForTree, getNodeValues, getRegularExitStore, getResult, getTransferFunction, getValue, getValue, init, isIgnoredExceptionType, isRunning, readFromStore, setCurrentNode, setCurrentTree, updateNodeValues
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.checkerframework.dataflow.analysis.Analysis
getDirection, getExceptionalExitStore, getRegularExitStore, getResult, getTransferFunction, getValue, getValue, isRunning
-
Constructor Details
-
LockAnalysis
Creates a newLockAnalysis
.- Parameters:
checker
- the checkerfactory
- the factory
-
-
Method Details
-
createTransferFunction
Description copied from class:CFAbstractAnalysis
Returns the transfer function to be used by the analysis.- Overrides:
createTransferFunction
in classCFAbstractAnalysis<CFValue,
LockStore, LockTransfer> - Returns:
- the transfer function to be used by the analysis
-
createEmptyStore
Description copied from class:CFAbstractAnalysis
Returns an empty store of the appropriate type.- Specified by:
createEmptyStore
in classCFAbstractAnalysis<CFValue,
LockStore, LockTransfer> - Returns:
- an empty store of the appropriate type
-
createCopiedStore
Description copied from class:CFAbstractAnalysis
Returns an identical copy of the stores
.- Specified by:
createCopiedStore
in classCFAbstractAnalysis<CFValue,
LockStore, LockTransfer> - Returns:
- an identical copy of the store
s
-
createAbstractValue
Description copied from class:CFAbstractAnalysis
Returns an abstract value containing the givenannotations
andunderlyingType
. Returns null if the annotation set has missing annotations.- Specified by:
createAbstractValue
in classCFAbstractAnalysis<CFValue,
LockStore, LockTransfer> - Parameters:
annotations
- the annotations for the result annotated typeunderlyingType
- the unannotated type for the result annotated type- Returns:
- an abstract value containing the given
annotations
andunderlyingType
-