Class LockTransfer
java.lang.Object
org.checkerframework.dataflow.cfg.node.AbstractNodeVisitor<TransferResult<V,S>,TransferInput<V,S>>
   
org.checkerframework.framework.flow.CFAbstractTransfer<CFValue,LockStore,LockTransfer>
  
org.checkerframework.checker.lock.LockTransfer
- All Implemented Interfaces:
- ForwardTransferFunction<CFValue,,- LockStore> - TransferFunction<CFValue,,- LockStore> - NodeVisitor<TransferResult<CFValue,- LockStore>, - TransferInput<CFValue, - LockStore>> 
LockTransfer handles constructors, initializers, synchronized methods, and synchronized blocks.
- 
Field SummaryFields inherited from class org.checkerframework.framework.flow.CFAbstractTransferanalysis, sequentialSemantics
- 
Constructor SummaryConstructorsConstructorDescriptionLockTransfer(LockAnalysis analysis, LockChecker checker) Create a transfer function for the Lock Checker.
- 
Method SummaryModifier and TypeMethodDescriptioninitialStore(UnderlyingAST underlyingAST, List<LocalVariableNode> parameters) The initial store maps method formal parameters to their currently most refined type.protected voidmakeLockHeld(LockStore store, Node node) Sets a givenNodeto @LockHeld in the givenstore.protected voidmakeLockHeld(TransferResult<CFValue, LockStore> result, Node node) protected voidmakeLockPossiblyHeld(LockStore store, Node node) Sets a givenNodeto @LockPossiblyHeld in the givenstore.protected voidmakeLockPossiblyHeld(TransferResult<CFValue, LockStore> result, Node node) Methods inherited from class org.checkerframework.framework.flow.CFAbstractTransferaddInformationFromPreconditions, createTransferResult, finishValue, finishValue, getNarrowedValue, getValueFromFactory, getWidenedValue, insertIntoStores, isNotFullyInitializedReceiver, moreSpecificValue, processCommonAssignment, processConditionalPostconditions, processPostconditions, recreateTransferResult, setFixedInitialStore, splitAssignments, strengthenAnnotationOfEqualTo, usesSequentialSemantics, visitArrayAccess, visitAssignment, visitCase, visitClassName, visitConditionalNot, visitEqualTo, visitFieldAccess, visitInstanceOf, visitLambdaResultExpression, visitLocalVariable, visitMethodInvocation, visitNarrowingConversion, visitNode, visitNotEqual, visitObjectCreation, visitReturn, visitStringConcatenateAssignment, visitStringConversion, visitSwitchExpressionNode, visitTernaryExpression, visitThis, visitVariableDeclaration, visitWideningConversionMethods inherited from class org.checkerframework.dataflow.cfg.node.AbstractNodeVisitorvisitArrayCreation, visitArrayType, visitAssertionError, visitBitwiseAnd, visitBitwiseComplement, visitBitwiseOr, visitBitwiseXor, visitBooleanLiteral, visitCharacterLiteral, visitClassDeclaration, visitConditionalAnd, visitConditionalOr, visitDoubleLiteral, visitExplicitThis, visitFloatingDivision, visitFloatingRemainder, visitFloatLiteral, visitGreaterThan, visitGreaterThanOrEqual, visitImplicitThis, 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, visitValueLiteralMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.checkerframework.dataflow.cfg.node.NodeVisitorvisitArrayCreation, visitArrayType, visitAssertionError, visitBitwiseAnd, visitBitwiseComplement, visitBitwiseOr, visitBitwiseXor, visitBooleanLiteral, visitCharacterLiteral, visitClassDeclaration, visitConditionalAnd, visitConditionalOr, visitDoubleLiteral, visitExplicitThis, visitFloatingDivision, visitFloatingRemainder, visitFloatLiteral, visitGreaterThan, visitGreaterThanOrEqual, visitImplicitThis, 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
- 
Constructor Details- 
LockTransferCreate a transfer function for the Lock Checker.- Parameters:
- analysis- the analysis this transfer function belongs to
- checker- the type-checker this transfer function belongs to
 
 
- 
- 
Method Details- 
makeLockHeldSets a givenNodeto @LockHeld in the givenstore.- Parameters:
- store- the store to update
- node- the node that should be @LockHeld
 
- 
makeLockPossiblyHeldSets a givenNodeto @LockPossiblyHeld in the givenstore.- Parameters:
- store- the store to update
- node- the node that should be @LockPossiblyHeld
 
- 
makeLockHeld
- 
makeLockPossiblyHeld
- 
initialStoreDescription copied from class:CFAbstractTransferThe initial store maps method formal parameters to their currently most refined type.- Specified by:
- initialStorein interface- ForwardTransferFunction<CFValue,- LockStore> 
- Overrides:
- initialStorein class- CFAbstractTransfer<CFValue,- LockStore, - LockTransfer> 
- Parameters:
- underlyingAST- an abstract syntax tree
- parameters- a list of local variable nodes representing formal parameters (if any)
- Returns:
- the initial store
 
- 
visitSynchronizedpublic TransferResult<CFValue,LockStore> visitSynchronized(SynchronizedNode n, TransferInput<CFValue, LockStore> p) - Specified by:
- visitSynchronizedin interface- NodeVisitor<TransferResult<CFValue,- LockStore>, - TransferInput<CFValue, - LockStore>> 
- Overrides:
- visitSynchronizedin class- AbstractNodeVisitor<TransferResult<CFValue,- LockStore>, - TransferInput<CFValue, - LockStore>> 
 
 
-