S
- the Store
used to keep track of intermediate resultspublic 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 java.util.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 java.util.List<LocalVariableNode> parameters)
parameters
is only set if the underlying AST is a method.