Class AbstractNodeVisitor<R,P>
java.lang.Object
org.checkerframework.dataflow.cfg.node.AbstractNodeVisitor<R,P>
- Type Parameters:
R
- return type of the visitorP
- parameter type of the visitor
- All Implemented Interfaces:
NodeVisitor<R,
P>
- Direct Known Subclasses:
BusyExprTransfer
,CFAbstractTransfer
,ConstantPropagationTransfer
,LiveVarTransfer
,ReachingDefinitionTransfer
A default implementation of the node visitor interface. The class introduces several 'summary'
methods, that can be overridden to change the behavior of several related visit methods at once.
An example is the
visitValueLiteral(org.checkerframework.dataflow.cfg.node.ValueLiteralNode, P)
method, which is called for every ValueLiteralNode
.
This is useful to implement a visitor that performs the same operation (e.g., nothing) for
most Node
s and only has special behavior for a few.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvisitArrayAccess
(ArrayAccessNode n, P p) visitArrayType
(ArrayTypeNode n, P p) visitAssignment
(AssignmentNode n, P p) visitBitwiseAnd
(BitwiseAndNode n, P p) visitBitwiseOr
(BitwiseOrNode n, P p) visitBitwiseXor
(BitwiseXorNode n, P p) Visits an anonymous/inner/nested class declaration within a method.visitClassName
(ClassNameNode n, P p) visitEqualTo
(EqualToNode n, P p) Visits an expression that is used as a statement.visitFieldAccess
(FieldAccessNode n, P p) visitGreaterThan
(GreaterThanNode n, P p) visitInstanceOf
(InstanceOfNode n, P p) visitLeftShift
(LeftShiftNode n, P p) visitLessThan
(LessThanNode n, P p) visitLongLiteral
(LongLiteralNode n, P p) visitMarker
(MarkerNode n, P p) abstract R
visitNotEqual
(NotEqualNode n, P p) visitNullChk
(NullChkNode n, P p) visitNullLiteral
(NullLiteralNode n, P p) visitPackageName
(PackageNameNode n, P p) visitReturn
(ReturnNode n, P p) visitSuper
(SuperNode n, P p) visitThrow
(ThrowNode n, P p) visitTypeCast
(TypeCastNode n, P p)
-
Constructor Details
-
AbstractNodeVisitor
public AbstractNodeVisitor()
-
-
Method Details
-
visitNode
-
visitValueLiteral
-
visitShortLiteral
- Specified by:
visitShortLiteral
in interfaceNodeVisitor<R,
P>
-
visitIntegerLiteral
- Specified by:
visitIntegerLiteral
in interfaceNodeVisitor<R,
P>
-
visitLongLiteral
- Specified by:
visitLongLiteral
in interfaceNodeVisitor<R,
P>
-
visitFloatLiteral
- Specified by:
visitFloatLiteral
in interfaceNodeVisitor<R,
P>
-
visitDoubleLiteral
- Specified by:
visitDoubleLiteral
in interfaceNodeVisitor<R,
P>
-
visitBooleanLiteral
- Specified by:
visitBooleanLiteral
in interfaceNodeVisitor<R,
P>
-
visitCharacterLiteral
- Specified by:
visitCharacterLiteral
in interfaceNodeVisitor<R,
P>
-
visitStringLiteral
- Specified by:
visitStringLiteral
in interfaceNodeVisitor<R,
P>
-
visitNullLiteral
- Specified by:
visitNullLiteral
in interfaceNodeVisitor<R,
P>
-
visitNumericalMinus
- Specified by:
visitNumericalMinus
in interfaceNodeVisitor<R,
P>
-
visitNumericalPlus
- Specified by:
visitNumericalPlus
in interfaceNodeVisitor<R,
P>
-
visitBitwiseComplement
- Specified by:
visitBitwiseComplement
in interfaceNodeVisitor<R,
P>
-
visitNullChk
- Specified by:
visitNullChk
in interfaceNodeVisitor<R,
P>
-
visitStringConcatenate
- Specified by:
visitStringConcatenate
in interfaceNodeVisitor<R,
P>
-
visitNumericalAddition
- Specified by:
visitNumericalAddition
in interfaceNodeVisitor<R,
P>
-
visitNumericalSubtraction
- Specified by:
visitNumericalSubtraction
in interfaceNodeVisitor<R,
P>
-
visitNumericalMultiplication
- Specified by:
visitNumericalMultiplication
in interfaceNodeVisitor<R,
P>
-
visitIntegerDivision
- Specified by:
visitIntegerDivision
in interfaceNodeVisitor<R,
P>
-
visitFloatingDivision
- Specified by:
visitFloatingDivision
in interfaceNodeVisitor<R,
P>
-
visitIntegerRemainder
- Specified by:
visitIntegerRemainder
in interfaceNodeVisitor<R,
P>
-
visitFloatingRemainder
- Specified by:
visitFloatingRemainder
in interfaceNodeVisitor<R,
P>
-
visitLeftShift
- Specified by:
visitLeftShift
in interfaceNodeVisitor<R,
P>
-
visitSignedRightShift
- Specified by:
visitSignedRightShift
in interfaceNodeVisitor<R,
P>
-
visitUnsignedRightShift
- Specified by:
visitUnsignedRightShift
in interfaceNodeVisitor<R,
P>
-
visitBitwiseAnd
- Specified by:
visitBitwiseAnd
in interfaceNodeVisitor<R,
P>
-
visitBitwiseOr
- Specified by:
visitBitwiseOr
in interfaceNodeVisitor<R,
P>
-
visitBitwiseXor
- Specified by:
visitBitwiseXor
in interfaceNodeVisitor<R,
P>
-
visitLessThan
- Specified by:
visitLessThan
in interfaceNodeVisitor<R,
P>
-
visitLessThanOrEqual
- Specified by:
visitLessThanOrEqual
in interfaceNodeVisitor<R,
P>
-
visitGreaterThan
- Specified by:
visitGreaterThan
in interfaceNodeVisitor<R,
P>
-
visitGreaterThanOrEqual
- Specified by:
visitGreaterThanOrEqual
in interfaceNodeVisitor<R,
P>
-
visitEqualTo
- Specified by:
visitEqualTo
in interfaceNodeVisitor<R,
P>
-
visitNotEqual
- Specified by:
visitNotEqual
in interfaceNodeVisitor<R,
P>
-
visitConditionalAnd
- Specified by:
visitConditionalAnd
in interfaceNodeVisitor<R,
P>
-
visitConditionalOr
- Specified by:
visitConditionalOr
in interfaceNodeVisitor<R,
P>
-
visitConditionalNot
- Specified by:
visitConditionalNot
in interfaceNodeVisitor<R,
P>
-
visitTernaryExpression
- Specified by:
visitTernaryExpression
in interfaceNodeVisitor<R,
P>
-
visitSwitchExpressionNode
- Specified by:
visitSwitchExpressionNode
in interfaceNodeVisitor<R,
P>
-
visitAssignment
- Specified by:
visitAssignment
in interfaceNodeVisitor<R,
P>
-
visitLocalVariable
- Specified by:
visitLocalVariable
in interfaceNodeVisitor<R,
P>
-
visitVariableDeclaration
- Specified by:
visitVariableDeclaration
in interfaceNodeVisitor<R,
P>
-
visitFieldAccess
- Specified by:
visitFieldAccess
in interfaceNodeVisitor<R,
P>
-
visitMethodAccess
- Specified by:
visitMethodAccess
in interfaceNodeVisitor<R,
P>
-
visitArrayAccess
- Specified by:
visitArrayAccess
in interfaceNodeVisitor<R,
P>
-
visitThis
-
visitImplicitThis
- Specified by:
visitImplicitThis
in interfaceNodeVisitor<R,
P>
-
visitExplicitThis
- Specified by:
visitExplicitThis
in interfaceNodeVisitor<R,
P>
-
visitSuper
- Specified by:
visitSuper
in interfaceNodeVisitor<R,
P>
-
visitReturn
- Specified by:
visitReturn
in interfaceNodeVisitor<R,
P>
-
visitLambdaResultExpression
- Specified by:
visitLambdaResultExpression
in interfaceNodeVisitor<R,
P>
-
visitStringConversion
- Specified by:
visitStringConversion
in interfaceNodeVisitor<R,
P>
-
visitWideningConversion
- Specified by:
visitWideningConversion
in interfaceNodeVisitor<R,
P>
-
visitNarrowingConversion
- Specified by:
visitNarrowingConversion
in interfaceNodeVisitor<R,
P>
-
visitInstanceOf
- Specified by:
visitInstanceOf
in interfaceNodeVisitor<R,
P>
-
visitTypeCast
- Specified by:
visitTypeCast
in interfaceNodeVisitor<R,
P>
-
visitAssertionError
- Specified by:
visitAssertionError
in interfaceNodeVisitor<R,
P>
-
visitSynchronized
- Specified by:
visitSynchronized
in interfaceNodeVisitor<R,
P>
-
visitThrow
- Specified by:
visitThrow
in interfaceNodeVisitor<R,
P>
-
visitCase
- Specified by:
visitCase
in interfaceNodeVisitor<R,
P>
-
visitMethodInvocation
- Specified by:
visitMethodInvocation
in interfaceNodeVisitor<R,
P>
-
visitObjectCreation
- Specified by:
visitObjectCreation
in interfaceNodeVisitor<R,
P>
-
visitClassDeclaration
Description copied from interface:NodeVisitor
Visits an anonymous/inner/nested class declaration within a method.- Specified by:
visitClassDeclaration
in interfaceNodeVisitor<R,
P> - Parameters:
n
- theClassDeclarationNode
to be visitedp
- the argument for the operation implemented by this visitor- Returns:
- the return value of the operation implemented by this visitor
-
visitMemberReference
- Specified by:
visitMemberReference
in interfaceNodeVisitor<R,
P>
-
visitArrayCreation
- Specified by:
visitArrayCreation
in interfaceNodeVisitor<R,
P>
-
visitArrayType
- Specified by:
visitArrayType
in interfaceNodeVisitor<R,
P>
-
visitPrimitiveType
- Specified by:
visitPrimitiveType
in interfaceNodeVisitor<R,
P>
-
visitClassName
- Specified by:
visitClassName
in interfaceNodeVisitor<R,
P>
-
visitPackageName
- Specified by:
visitPackageName
in interfaceNodeVisitor<R,
P>
-
visitParameterizedType
- Specified by:
visitParameterizedType
in interfaceNodeVisitor<R,
P>
-
visitMarker
- Specified by:
visitMarker
in interfaceNodeVisitor<R,
P>
-
visitExpressionStatement
Description copied from interface:NodeVisitor
Visits an expression that is used as a statement. This node is a marker after the expression node(s).- Specified by:
visitExpressionStatement
in interfaceNodeVisitor<R,
P> - Parameters:
n
- theExpressionStatementNode
to be visitedp
- the argument for the operation implemented by this visitor- Returns:
- the return value of the operation implemented by this visitor
-