S
- The Store
used to keep track of intermediate results.public interface TransferFunction<A extends AbstractValue<A>,S extends Store<S>> extends NodeVisitor<TransferResult<A,S>,TransferInput<A,S>>
A transfer function consists of the following components:
initialStore
that determines which initial store should
be used in the org.checkerframework.dataflow analysis.Node
type that determines the behavior of
the org.checkerframework.dataflow analysis in that case. This method takes a Node
and an
incoming store, and produces a RegularTransferResult
.
Important: The individual transfer functions ( visit*
) are
allowed to use (and modify) the stores contained in the argument passed; the
ownership is transfered from the caller to that function.
Modifier and Type | Method and Description |
---|---|
S |
initialStore(UnderlyingAST underlyingAST,
@Nullable List<LocalVariableNode> parameters) |
visitArrayAccess, visitArrayCreation, visitArrayType, visitAssertionError, visitAssignment, visitBitwiseAnd, visitBitwiseComplement, visitBitwiseOr, visitBitwiseXor, visitBooleanLiteral, visitCase, visitCharacterLiteral, visitClassName, visitConditionalAnd, visitConditionalNot, visitConditionalOr, visitDoubleLiteral, visitEqualTo, visitExplicitThisLiteral, visitFieldAccess, visitFloatingDivision, visitFloatingRemainder, visitFloatLiteral, visitGreaterThan, visitGreaterThanOrEqual, visitImplicitThisLiteral, visitInstanceOf, visitIntegerDivision, visitIntegerLiteral, visitIntegerRemainder, 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 initialStore(UnderlyingAST underlyingAST, @Nullable List<LocalVariableNode> parameters)
parameters
is only set if the underlying AST is a method.