V
- the abstract value type to be tracked by the analysisS
- the store type used in the analysispublic interface BackwardTransferFunction<V extends AbstractValue<V>,S extends Store<S>> extends TransferFunction<V,S>
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.
Modifier and Type | Method and Description |
---|---|
S |
initialExceptionalExitStore(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.
|
S |
initialNormalExitStore(UnderlyingAST underlyingAST,
@Nullable List<ReturnNode> returnNodes)
Returns the initial store that should be used at the normal exit block.
|
visitArrayAccess, visitArrayCreation, visitArrayType, visitAssertionError, visitAssignment, visitBitwiseAnd, visitBitwiseComplement, visitBitwiseOr, visitBitwiseXor, visitBooleanLiteral, visitCase, visitCharacterLiteral, visitClassDeclaration, visitClassName, visitConditionalAnd, visitConditionalNot, visitConditionalOr, visitDoubleLiteral, visitEqualTo, visitExplicitThis, 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, visitStringConcatenateAssignment, visitStringConversion, visitStringLiteral, visitSuper, visitSynchronized, visitTernaryExpression, visitThrow, visitTypeCast, visitUnsignedRightShift, visitVariableDeclaration, visitWideningConversion
S initialNormalExitStore(UnderlyingAST underlyingAST, @Nullable List<ReturnNode> returnNodes)
underlyingAST
- the underlying AST of the given control flow graphreturnNodes
- the return nodes of the given control flow graph if the underlying AST of
this graph is a method. Otherwise will be set to null
S initialExceptionalExitStore(UnderlyingAST underlyingAST)
underlyingAST
- the underlying AST of the given control flow graph