public class LockTransfer extends org.checkerframework.framework.flow.CFAbstractTransfer<org.checkerframework.framework.flow.CFValue,LockStore,LockTransfer>
| Constructor and Description |
|---|
LockTransfer(LockAnalysis analysis,
LockChecker checker) |
| Modifier and Type | Method and Description |
|---|---|
LockStore |
initialStore(org.checkerframework.dataflow.cfg.UnderlyingAST underlyingAST,
List<org.checkerframework.dataflow.cfg.node.LocalVariableNode> parameters) |
protected void |
makeLockHeld(LockStore store,
org.checkerframework.dataflow.cfg.node.Node node)
Sets a given
Node to @LockHeld in the given store. |
protected void |
makeLockHeld(org.checkerframework.dataflow.analysis.TransferResult<org.checkerframework.framework.flow.CFValue,LockStore> result,
org.checkerframework.dataflow.cfg.node.Node node)
Sets a given
Node node to LockHeld in the given TransferResult. |
protected void |
makeLockPossiblyHeld(LockStore store,
org.checkerframework.dataflow.cfg.node.Node node)
Sets a given
Node to @LockPossiblyHeld in the given store. |
protected void |
makeLockPossiblyHeld(org.checkerframework.dataflow.analysis.TransferResult<org.checkerframework.framework.flow.CFValue,LockStore> result,
org.checkerframework.dataflow.cfg.node.Node node)
Sets a given
Node node to LockPossiblyHeld in the given TransferResult. |
org.checkerframework.dataflow.analysis.TransferResult<org.checkerframework.framework.flow.CFValue,LockStore> |
visitSynchronized(org.checkerframework.dataflow.cfg.node.SynchronizedNode n,
org.checkerframework.dataflow.analysis.TransferInput<org.checkerframework.framework.flow.CFValue,LockStore> p) |
addInformationFromPreconditions, finishValue, finishValue, getValueFromFactory, getValueWithSameAnnotations, isNotFullyInitializedReceiver, moreSpecificValue, processCommonAssignment, processConditionalPostconditions, processPostconditions, setFixedInitialStore, splitAssignments, strengthenAnnotationOfEqualTo, usesSequentialSemantics, visitArrayAccess, visitAssignment, visitCase, visitClassName, visitConditionalNot, visitEqualTo, visitFieldAccess, visitLambdaResultExpression, visitLocalVariable, visitMethodInvocation, visitNarrowingConversion, visitNode, visitNotEqual, visitObjectCreation, visitReturn, visitStringConcatenateAssignment, visitStringConversion, visitTernaryExpression, visitThisLiteral, visitVariableDeclaration, visitWideningConversionvisitArrayCreation, visitArrayType, visitAssertionError, visitBitwiseAnd, visitBitwiseComplement, visitBitwiseOr, visitBitwiseXor, visitBooleanLiteral, visitCharacterLiteral, visitClassDeclaration, visitConditionalAnd, visitConditionalOr, visitDoubleLiteral, visitExplicitThisLiteral, visitFloatingDivision, visitFloatingRemainder, visitFloatLiteral, visitGreaterThan, visitGreaterThanOrEqual, visitImplicitThisLiteral, visitInstanceOf, visitIntegerDivision, visitIntegerLiteral, visitIntegerRemainder, visitLeftShift, visitLessThan, visitLessThanOrEqual, visitLongLiteral, visitMarker, visitMemberReference, visitMethodAccess, visitNullChk, visitNullLiteral, visitNumericalAddition, visitNumericalMinus, visitNumericalMultiplication, visitNumericalPlus, visitNumericalSubtraction, visitPackageName, visitParameterizedType, visitPrimitiveType, visitShortLiteral, visitSignedRightShift, visitStringConcatenate, visitStringLiteral, visitSuper, visitThrow, visitTypeCast, visitUnsignedRightShift, visitValueLiteralclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitArrayCreation, visitArrayType, visitAssertionError, visitBitwiseAnd, visitBitwiseComplement, visitBitwiseOr, visitBitwiseXor, visitBooleanLiteral, visitCharacterLiteral, visitClassDeclaration, visitConditionalAnd, visitConditionalOr, visitDoubleLiteral, visitExplicitThisLiteral, visitFloatingDivision, visitFloatingRemainder, visitFloatLiteral, visitGreaterThan, visitGreaterThanOrEqual, visitImplicitThisLiteral, visitInstanceOf, visitIntegerDivision, visitIntegerLiteral, visitIntegerRemainder, visitLeftShift, visitLessThan, visitLessThanOrEqual, visitLongLiteral, visitMarker, visitMemberReference, visitMethodAccess, visitNullChk, visitNullLiteral, visitNumericalAddition, visitNumericalMinus, visitNumericalMultiplication, visitNumericalPlus, visitNumericalSubtraction, visitPackageName, visitParameterizedType, visitPrimitiveType, visitShortLiteral, visitSignedRightShift, visitStringConcatenate, visitStringLiteral, visitSuper, visitThrow, visitTypeCast, visitUnsignedRightShiftpublic LockTransfer(LockAnalysis analysis, LockChecker checker)
protected void makeLockHeld(LockStore store, org.checkerframework.dataflow.cfg.node.Node node)
Node to @LockHeld in the given store.protected void makeLockPossiblyHeld(LockStore store, org.checkerframework.dataflow.cfg.node.Node node)
Node to @LockPossiblyHeld in the given store.protected void makeLockHeld(org.checkerframework.dataflow.analysis.TransferResult<org.checkerframework.framework.flow.CFValue,LockStore> result, org.checkerframework.dataflow.cfg.node.Node node)
Node node to LockHeld in the given TransferResult.protected void makeLockPossiblyHeld(org.checkerframework.dataflow.analysis.TransferResult<org.checkerframework.framework.flow.CFValue,LockStore> result, org.checkerframework.dataflow.cfg.node.Node node)
Node node to LockPossiblyHeld in the given TransferResult.public LockStore initialStore(org.checkerframework.dataflow.cfg.UnderlyingAST underlyingAST, List<org.checkerframework.dataflow.cfg.node.LocalVariableNode> parameters)
initialStore in interface org.checkerframework.dataflow.analysis.TransferFunction<org.checkerframework.framework.flow.CFValue,LockStore>initialStore in class org.checkerframework.framework.flow.CFAbstractTransfer<org.checkerframework.framework.flow.CFValue,LockStore,LockTransfer>public org.checkerframework.dataflow.analysis.TransferResult<org.checkerframework.framework.flow.CFValue,LockStore> visitSynchronized(org.checkerframework.dataflow.cfg.node.SynchronizedNode n, org.checkerframework.dataflow.analysis.TransferInput<org.checkerframework.framework.flow.CFValue,LockStore> p)
visitSynchronized in interface org.checkerframework.dataflow.cfg.node.NodeVisitor<org.checkerframework.dataflow.analysis.TransferResult<org.checkerframework.framework.flow.CFValue,LockStore>,org.checkerframework.dataflow.analysis.TransferInput<org.checkerframework.framework.flow.CFValue,LockStore>>visitSynchronized in class org.checkerframework.dataflow.cfg.node.AbstractNodeVisitor<org.checkerframework.dataflow.analysis.TransferResult<org.checkerframework.framework.flow.CFValue,LockStore>,org.checkerframework.dataflow.analysis.TransferInput<org.checkerframework.framework.flow.CFValue,LockStore>>