Class LiveVarTransfer
- java.lang.Object
-
- org.checkerframework.dataflow.cfg.node.AbstractNodeVisitor<TransferResult<UnusedAbstractValue,LiveVarStore>,TransferInput<UnusedAbstractValue,LiveVarStore>>
-
- org.checkerframework.dataflow.livevariable.LiveVarTransfer
-
- All Implemented Interfaces:
BackwardTransferFunction<UnusedAbstractValue,LiveVarStore>,TransferFunction<UnusedAbstractValue,LiveVarStore>,NodeVisitor<TransferResult<UnusedAbstractValue,LiveVarStore>,TransferInput<UnusedAbstractValue,LiveVarStore>>
public class LiveVarTransfer extends AbstractNodeVisitor<TransferResult<UnusedAbstractValue,LiveVarStore>,TransferInput<UnusedAbstractValue,LiveVarStore>> implements BackwardTransferFunction<UnusedAbstractValue,LiveVarStore>
A live variable transfer function.
-
-
Constructor Summary
Constructors Constructor Description LiveVarTransfer()Creates a new LiveVarTransfer.
-
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
@SideEffectFree public LiveVarStore initialNormalExitStore(UnderlyingAST underlyingAST, java.util.List<ReturnNode> returnNodes)
Description copied from interface:BackwardTransferFunctionReturns the initial store that should be used at the normal exit block.- Specified by:
initialNormalExitStorein interfaceBackwardTransferFunction<UnusedAbstractValue,LiveVarStore>- 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 LiveVarStore initialExceptionalExitStore(UnderlyingAST underlyingAST)
Description copied from interface:BackwardTransferFunctionReturns the initial store that should be used at the exceptional exit block or given the underlying AST of a control flow graph.- Specified by:
initialExceptionalExitStorein interfaceBackwardTransferFunction<UnusedAbstractValue,LiveVarStore>- 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,LiveVarStore> visitNode(Node n, TransferInput<UnusedAbstractValue,LiveVarStore> p)
- Specified by:
visitNodein classAbstractNodeVisitor<TransferResult<UnusedAbstractValue,LiveVarStore>,TransferInput<UnusedAbstractValue,LiveVarStore>>
-
visitAssignment
public RegularTransferResult<UnusedAbstractValue,LiveVarStore> visitAssignment(AssignmentNode n, TransferInput<UnusedAbstractValue,LiveVarStore> p)
- Specified by:
visitAssignmentin interfaceNodeVisitor<TransferResult<UnusedAbstractValue,LiveVarStore>,TransferInput<UnusedAbstractValue,LiveVarStore>>- Overrides:
visitAssignmentin classAbstractNodeVisitor<TransferResult<UnusedAbstractValue,LiveVarStore>,TransferInput<UnusedAbstractValue,LiveVarStore>>
-
visitMethodInvocation
public RegularTransferResult<UnusedAbstractValue,LiveVarStore> visitMethodInvocation(MethodInvocationNode n, TransferInput<UnusedAbstractValue,LiveVarStore> p)
- Specified by:
visitMethodInvocationin interfaceNodeVisitor<TransferResult<UnusedAbstractValue,LiveVarStore>,TransferInput<UnusedAbstractValue,LiveVarStore>>- Overrides:
visitMethodInvocationin classAbstractNodeVisitor<TransferResult<UnusedAbstractValue,LiveVarStore>,TransferInput<UnusedAbstractValue,LiveVarStore>>
-
visitObjectCreation
public RegularTransferResult<UnusedAbstractValue,LiveVarStore> visitObjectCreation(ObjectCreationNode n, TransferInput<UnusedAbstractValue,LiveVarStore> p)
- Specified by:
visitObjectCreationin interfaceNodeVisitor<TransferResult<UnusedAbstractValue,LiveVarStore>,TransferInput<UnusedAbstractValue,LiveVarStore>>- Overrides:
visitObjectCreationin classAbstractNodeVisitor<TransferResult<UnusedAbstractValue,LiveVarStore>,TransferInput<UnusedAbstractValue,LiveVarStore>>
-
visitReturn
public RegularTransferResult<UnusedAbstractValue,LiveVarStore> visitReturn(ReturnNode n, TransferInput<UnusedAbstractValue,LiveVarStore> p)
- Specified by:
visitReturnin interfaceNodeVisitor<TransferResult<UnusedAbstractValue,LiveVarStore>,TransferInput<UnusedAbstractValue,LiveVarStore>>- Overrides:
visitReturnin classAbstractNodeVisitor<TransferResult<UnusedAbstractValue,LiveVarStore>,TransferInput<UnusedAbstractValue,LiveVarStore>>
-
-