Class BusyExprTransfer
- java.lang.Object
-
- org.checkerframework.dataflow.cfg.node.AbstractNodeVisitor<TransferResult<UnusedAbstractValue,BusyExprStore>,TransferInput<UnusedAbstractValue,BusyExprStore>>
-
- org.checkerframework.dataflow.busyexpr.BusyExprTransfer
-
- All Implemented Interfaces:
BackwardTransferFunction<UnusedAbstractValue,BusyExprStore>
,TransferFunction<UnusedAbstractValue,BusyExprStore>
,NodeVisitor<TransferResult<UnusedAbstractValue,BusyExprStore>,TransferInput<UnusedAbstractValue,BusyExprStore>>
public class BusyExprTransfer extends AbstractNodeVisitor<TransferResult<UnusedAbstractValue,BusyExprStore>,TransferInput<UnusedAbstractValue,BusyExprStore>> implements BackwardTransferFunction<UnusedAbstractValue,BusyExprStore>
A busy expression transfer function
-
-
Constructor Summary
Constructors Constructor Description BusyExprTransfer()
-
Method Summary
-
Methods inherited from class org.checkerframework.dataflow.cfg.node.AbstractNodeVisitor
visitArrayAccess, visitArrayCreation, visitArrayType, visitAssertionError, visitBitwiseAnd, visitBitwiseComplement, visitBitwiseOr, visitBitwiseXor, visitBooleanLiteral, visitCase, visitCharacterLiteral, visitClassDeclaration, visitClassName, visitConditionalAnd, visitConditionalNot, visitConditionalOr, visitDeconstructorPattern, visitDoubleLiteral, visitEqualTo, visitExplicitThis, visitExpressionStatement, visitFieldAccess, visitFloatingDivision, visitFloatingRemainder, visitFloatLiteral, visitGreaterThan, visitGreaterThanOrEqual, visitImplicitThis, visitInstanceOf, visitIntegerDivision, visitIntegerLiteral, visitIntegerRemainder, visitLambdaResultExpression, visitLeftShift, visitLessThan, visitLessThanOrEqual, visitLocalVariable, visitLongLiteral, visitMarker, visitMemberReference, visitMethodAccess, visitNarrowingConversion, visitNotEqual, visitNullChk, visitNullLiteral, visitNumericalAddition, visitNumericalMinus, visitNumericalMultiplication, visitNumericalPlus, visitNumericalSubtraction, visitPackageName, visitParameterizedType, visitPrimitiveType, visitShortLiteral, visitSignedRightShift, visitStringConcatenate, visitStringConversion, visitStringLiteral, visitSuper, visitSwitchExpressionNode, visitSynchronized, visitTernaryExpression, visitThis, visitThrow, visitTypeCast, visitUnsignedRightShift, visitValueLiteral, visitVariableDeclaration, visitWideningConversion
-
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.cfg.node.NodeVisitor
visitArrayAccess, visitArrayCreation, visitArrayType, visitAssertionError, visitBitwiseAnd, visitBitwiseComplement, visitBitwiseOr, visitBitwiseXor, visitBooleanLiteral, visitCase, visitCharacterLiteral, visitClassDeclaration, visitClassName, visitConditionalAnd, visitConditionalNot, visitConditionalOr, visitDeconstructorPattern, visitDoubleLiteral, visitEqualTo, visitExplicitThis, visitExpressionStatement, visitFieldAccess, visitFloatingDivision, visitFloatingRemainder, visitFloatLiteral, visitGreaterThan, visitGreaterThanOrEqual, visitImplicitThis, visitInstanceOf, visitIntegerDivision, visitIntegerLiteral, visitIntegerRemainder, visitLambdaResultExpression, visitLeftShift, visitLessThan, visitLessThanOrEqual, visitLocalVariable, visitLongLiteral, visitMarker, visitMemberReference, visitMethodAccess, visitNarrowingConversion, visitNotEqual, visitNullChk, visitNullLiteral, visitNumericalAddition, visitNumericalMinus, visitNumericalMultiplication, visitNumericalPlus, visitNumericalSubtraction, visitPackageName, visitParameterizedType, visitPrimitiveType, visitShortLiteral, visitSignedRightShift, visitStringConcatenate, visitStringConversion, visitStringLiteral, visitSuper, visitSwitchExpressionNode, visitSynchronized, visitTernaryExpression, visitThrow, visitTypeCast, visitUnsignedRightShift, visitVariableDeclaration, visitWideningConversion
-
-
-
-
Method Detail
-
initialNormalExitStore
public BusyExprStore initialNormalExitStore(UnderlyingAST underlyingAST, java.util.List<ReturnNode> returnNodes)
Description copied from interface:BackwardTransferFunction
Returns the initial store that should be used at the normal exit block.- Specified by:
initialNormalExitStore
in interfaceBackwardTransferFunction<UnusedAbstractValue,BusyExprStore>
- Parameters:
underlyingAST
- the underlying AST of the given control flow graphreturnNodes
- the return nodes of the given control flow graph (an empty list if the underlying AST is not a method)- Returns:
- the initial store that should be used at the normal exit block
-
initialExceptionalExitStore
public BusyExprStore initialExceptionalExitStore(UnderlyingAST underlyingAST)
Description copied from interface:BackwardTransferFunction
Returns the initial store that should be used at the exceptional exit block or given the underlying AST of a control flow graph.- Specified by:
initialExceptionalExitStore
in interfaceBackwardTransferFunction<UnusedAbstractValue,BusyExprStore>
- Parameters:
underlyingAST
- the underlying AST of the given control flow graph- Returns:
- the initial store that should be used at the exceptional exit block
-
visitNode
public RegularTransferResult<UnusedAbstractValue,BusyExprStore> visitNode(Node n, TransferInput<UnusedAbstractValue,BusyExprStore> p)
- Specified by:
visitNode
in classAbstractNodeVisitor<TransferResult<UnusedAbstractValue,BusyExprStore>,TransferInput<UnusedAbstractValue,BusyExprStore>>
-
visitAssignment
public RegularTransferResult<UnusedAbstractValue,BusyExprStore> visitAssignment(AssignmentNode n, TransferInput<UnusedAbstractValue,BusyExprStore> p)
- Specified by:
visitAssignment
in interfaceNodeVisitor<TransferResult<UnusedAbstractValue,BusyExprStore>,TransferInput<UnusedAbstractValue,BusyExprStore>>
- Overrides:
visitAssignment
in classAbstractNodeVisitor<TransferResult<UnusedAbstractValue,BusyExprStore>,TransferInput<UnusedAbstractValue,BusyExprStore>>
-
visitMethodInvocation
public RegularTransferResult<UnusedAbstractValue,BusyExprStore> visitMethodInvocation(MethodInvocationNode n, TransferInput<UnusedAbstractValue,BusyExprStore> p)
- Specified by:
visitMethodInvocation
in interfaceNodeVisitor<TransferResult<UnusedAbstractValue,BusyExprStore>,TransferInput<UnusedAbstractValue,BusyExprStore>>
- Overrides:
visitMethodInvocation
in classAbstractNodeVisitor<TransferResult<UnusedAbstractValue,BusyExprStore>,TransferInput<UnusedAbstractValue,BusyExprStore>>
-
visitObjectCreation
public RegularTransferResult<UnusedAbstractValue,BusyExprStore> visitObjectCreation(ObjectCreationNode n, TransferInput<UnusedAbstractValue,BusyExprStore> p)
- Specified by:
visitObjectCreation
in interfaceNodeVisitor<TransferResult<UnusedAbstractValue,BusyExprStore>,TransferInput<UnusedAbstractValue,BusyExprStore>>
- Overrides:
visitObjectCreation
in classAbstractNodeVisitor<TransferResult<UnusedAbstractValue,BusyExprStore>,TransferInput<UnusedAbstractValue,BusyExprStore>>
-
visitReturn
public RegularTransferResult<UnusedAbstractValue,BusyExprStore> visitReturn(ReturnNode n, TransferInput<UnusedAbstractValue,BusyExprStore> p)
- Specified by:
visitReturn
in interfaceNodeVisitor<TransferResult<UnusedAbstractValue,BusyExprStore>,TransferInput<UnusedAbstractValue,BusyExprStore>>
- Overrides:
visitReturn
in classAbstractNodeVisitor<TransferResult<UnusedAbstractValue,BusyExprStore>,TransferInput<UnusedAbstractValue,BusyExprStore>>
-
-