Interface BackwardTransferFunction<V extends AbstractValue<V>,S extends Store<S>> 
- Type Parameters:
- V- the abstract value type to be tracked by the analysis
- S- the store type used in the analysis
- All Superinterfaces:
- NodeVisitor<TransferResult<V,,- S>, - TransferInput<V, - S>> - TransferFunction<V,- S> 
- All Known Implementing Classes:
- BusyExprTransfer,- LiveVarTransfer
public interface BackwardTransferFunction<V extends AbstractValue<V>,S extends Store<S>> 
extends TransferFunction<V,S> 
Interface of a backward transfer function for the abstract interpretation used for the backward
 flow analysis.
 
Important: The individual transfer functions ( visit*) are allowed to use
 (and modify) the stores contained in the argument passed; the ownership is transferred from the
 caller to that function.
- 
Method SummaryModifier and TypeMethodDescriptioninitialExceptionalExitStore(UnderlyingAST underlyingAST) Returns the initial store that should be used at the exceptional exit block or given the underlying AST of a control flow graph.initialNormalExitStore(UnderlyingAST underlyingAST, List<ReturnNode> returnNodes) Returns the initial store that should be used at the normal exit block.Methods inherited from interface org.checkerframework.dataflow.cfg.node.NodeVisitorvisitArrayAccess, visitArrayCreation, visitArrayType, visitAssertionError, visitAssignment, 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, visitMethodInvocation, visitNarrowingConversion, visitNotEqual, visitNullChk, visitNullLiteral, visitNumericalAddition, visitNumericalMinus, visitNumericalMultiplication, visitNumericalPlus, visitNumericalSubtraction, visitObjectCreation, visitPackageName, visitParameterizedType, visitPrimitiveType, visitReturn, visitShortLiteral, visitSignedRightShift, visitStringConcatenate, visitStringConversion, visitStringLiteral, visitSuper, visitSwitchExpressionNode, visitSynchronized, visitTernaryExpression, visitThrow, visitTypeCast, visitUnsignedRightShift, visitVariableDeclaration, visitWideningConversion
- 
Method Details- 
initialNormalExitStoreReturns the initial store that should be used at the normal exit block.- Parameters:
- underlyingAST- the underlying AST of the given control flow graph
- returnNodes- 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
 
- 
initialExceptionalExitStoreReturns the initial store that should be used at the exceptional exit block or given the underlying AST of a control flow graph.- Parameters:
- underlyingAST- the underlying AST of the given control flow graph
- Returns:
- the initial store that should be used at the exceptional exit block
 
 
-