Class AbstractTypeInformationPresenter.TypeInformationReporter
java.lang.Object
com.sun.source.util.TreeScanner<Void,Void>
com.sun.source.util.TreePathScanner<Void,Void>
org.checkerframework.framework.util.visualize.AbstractTypeInformationPresenter.TypeInformationReporter
- All Implemented Interfaces:
TreeVisitor<Void,
Void>
- Direct Known Subclasses:
LspTypeInformationPresenter.LspTypeInformationReporter
- Enclosing class:
AbstractTypeInformationPresenter
protected abstract class AbstractTypeInformationPresenter.TypeInformationReporter
extends TreePathScanner<Void,Void>
A visitor which traverses a class tree and reports type information of various sub-trees.
Note: Since nested class trees will be type-checked separately, this visitor does not dive into any nested class trees.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final BaseTypeChecker
The checker that's currently running.protected final ClassTree
The class tree in which it traverses and reports type information.protected final CompilationUnitTree
Root of the current class tree. -
Constructor Summary
ConstructorsConstructorDescriptionTypeInformationReporter
(ClassTree classTree) Constructs a new reporter for the given class tree. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
reportTreeType
(Tree tree, AnnotatedTypeMirror type, TypeOccurrenceKind occurrenceKind) Report thetype
oftree
in a particularoccurrenceKind
.visitAssignment
(AssignmentTree tree, Void unused) visitBinary
(BinaryTree tree, Void unused) visitClass
(ClassTree tree, Void unused) visitCompoundAssignment
(CompoundAssignmentTree tree, Void unused) visitIdentifier
(IdentifierTree tree, Void unused) visitLiteral
(LiteralTree tree, Void unused) visitMemberReference
(MemberReferenceTree tree, Void unused) visitMemberSelect
(MemberSelectTree tree, Void unused) visitMethod
(MethodTree tree, Void unused) visitMethodInvocation
(MethodInvocationTree tree, Void unused) visitReturn
(ReturnTree tree, Void unused) visitTypeParameter
(TypeParameterTree tree, Void unused) visitUnary
(UnaryTree tree, Void unused) visitVariable
(VariableTree tree, Void unused) Methods inherited from class com.sun.source.util.TreePathScanner
getCurrentPath, scan, scan
Methods inherited from class com.sun.source.util.TreeScanner
reduce, scan, visitAnnotatedType, visitAnnotation, visitAnyPattern, visitArrayAccess, visitArrayType, visitAssert, visitBindingPattern, visitBlock, visitBreak, visitCase, visitCatch, visitCompilationUnit, visitConditionalExpression, visitConstantCaseLabel, visitContinue, visitDeconstructionPattern, visitDefaultCaseLabel, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExports, visitExpressionStatement, visitForLoop, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabeledStatement, visitLambdaExpression, visitModifiers, visitModule, visitNewArray, visitNewClass, visitOpens, visitOther, visitPackage, visitParameterizedType, visitParenthesized, visitPatternCaseLabel, visitPrimitiveType, visitProvides, visitRequires, visitStringTemplate, visitSwitch, visitSwitchExpression, visitSynchronized, visitThrow, visitTry, visitTypeCast, visitUnionType, visitUses, visitWhileLoop, visitWildcard, visitYield
-
Field Details
-
classTree
The class tree in which it traverses and reports type information. -
currentRoot
Root of the current class tree. This is a helper for computing positions of a sub-tree. -
checker
The checker that's currently running.
-
-
Constructor Details
-
TypeInformationReporter
Constructs a new reporter for the given class tree.- Parameters:
classTree
- theClassTree
-
-
Method Details
-
reportTreeType
protected abstract void reportTreeType(Tree tree, AnnotatedTypeMirror type, TypeOccurrenceKind occurrenceKind) Report thetype
oftree
in a particularoccurrenceKind
.- Parameters:
tree
- the treetype
- the typeoccurrenceKind
- the occurrence kind
-
visitClass
- Specified by:
visitClass
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitClass
in classTreeScanner<Void,
Void>
-
visitTypeParameter
- Specified by:
visitTypeParameter
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitTypeParameter
in classTreeScanner<Void,
Void>
-
visitVariable
- Specified by:
visitVariable
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitVariable
in classTreeScanner<Void,
Void>
-
visitMethod
- Specified by:
visitMethod
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitMethod
in classTreeScanner<Void,
Void>
-
visitMethodInvocation
- Specified by:
visitMethodInvocation
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitMethodInvocation
in classTreeScanner<Void,
Void>
-
visitAssignment
- Specified by:
visitAssignment
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitAssignment
in classTreeScanner<Void,
Void>
-
visitCompoundAssignment
- Specified by:
visitCompoundAssignment
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitCompoundAssignment
in classTreeScanner<Void,
Void>
-
visitUnary
- Specified by:
visitUnary
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitUnary
in classTreeScanner<Void,
Void>
-
visitBinary
- Specified by:
visitBinary
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitBinary
in classTreeScanner<Void,
Void>
-
visitMemberSelect
- Specified by:
visitMemberSelect
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitMemberSelect
in classTreeScanner<Void,
Void>
-
visitMemberReference
- Specified by:
visitMemberReference
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitMemberReference
in classTreeScanner<Void,
Void>
-
visitIdentifier
- Specified by:
visitIdentifier
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitIdentifier
in classTreeScanner<Void,
Void>
-
visitLiteral
- Specified by:
visitLiteral
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitLiteral
in classTreeScanner<Void,
Void>
-
visitReturn
- Specified by:
visitReturn
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitReturn
in classTreeScanner<Void,
Void>
-