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
,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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description S
initialStore(UnderlyingAST underlyingAST, java.util.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 Detail
-
initialStore
S initialStore(UnderlyingAST underlyingAST, java.util.List<LocalVariableNode> parameters)
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
-
-