Interface ForwardTransferFunction<V extends AbstractValue<V>,S extends Store<S>>
- Type Parameters:
V
- the abstract value type to be tracked by the analysisS
- the store type used in the analysis
- All Superinterfaces:
NodeVisitor<TransferResult<V,
,S>, TransferInput<V, S>> TransferFunction<V,
S>
- All Known Implementing Classes:
AccumulationTransfer
,AliasingTransfer
,CalledMethodsTransfer
,CFAbstractTransfer
,CFTransfer
,ConstantPropagationTransfer
,FormatterTransfer
,I18nFormatterTransfer
,IndexAbstractTransfer
,InitializationTransfer
,InitializedFieldsTransfer
,KeyForTransfer
,LessThanTransfer
,LockTransfer
,LowerBoundTransfer
,MustCallTransfer
,NullnessNoInitTransfer
,OptionalTransfer
,ReachingDefinitionTransfer
,RegexTransfer
,ResourceLeakTransfer
,SameLenTransfer
,SearchIndexTransfer
,SignatureTransfer
,UpperBoundTransfer
,ValueTransfer
public interface ForwardTransferFunction<V extends AbstractValue<V>,S extends Store<S>>
extends TransferFunction<V,S>
Interface of a forward transfer function for the abstract interpretation used for the forward
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 Summary
Modifier and TypeMethodDescriptioninitialStore
(UnderlyingAST underlyingAST, List<LocalVariableNode> parameters) Returns the initial store to be used by the org.checkerframework.dataflow analysis.Methods inherited from interface org.checkerframework.dataflow.cfg.node.NodeVisitor
visitArrayAccess, 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
-
initialStore
Returns the initial store to be used by the org.checkerframework.dataflow analysis.- Parameters:
underlyingAST
- an abstract syntax treeparameters
- a list of local variable nodes representing formal parameters (if any)- Returns:
- the initial store
-