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 BaseTypeCheckerThe checker that's currently running.protected final ClassTreeThe class tree in which it traverses and reports type information.protected final CompilationUnitTreeRoot 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 voidreportTreeType(Tree tree, AnnotatedTypeMirror type, TypeOccurrenceKind occurrenceKind) Report thetypeoftreein 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, scanMethods 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 thetypeoftreein a particularoccurrenceKind.- Parameters:
tree- the treetype- the typeoccurrenceKind- the occurrence kind
-
visitClass
- Specified by:
visitClassin interfaceTreeVisitor<Void,Void> - Overrides:
visitClassin classTreeScanner<Void,Void>
-
visitTypeParameter
- Specified by:
visitTypeParameterin interfaceTreeVisitor<Void,Void> - Overrides:
visitTypeParameterin classTreeScanner<Void,Void>
-
visitVariable
- Specified by:
visitVariablein interfaceTreeVisitor<Void,Void> - Overrides:
visitVariablein classTreeScanner<Void,Void>
-
visitMethod
- Specified by:
visitMethodin interfaceTreeVisitor<Void,Void> - Overrides:
visitMethodin classTreeScanner<Void,Void>
-
visitMethodInvocation
- Specified by:
visitMethodInvocationin interfaceTreeVisitor<Void,Void> - Overrides:
visitMethodInvocationin classTreeScanner<Void,Void>
-
visitAssignment
- Specified by:
visitAssignmentin interfaceTreeVisitor<Void,Void> - Overrides:
visitAssignmentin classTreeScanner<Void,Void>
-
visitCompoundAssignment
- Specified by:
visitCompoundAssignmentin interfaceTreeVisitor<Void,Void> - Overrides:
visitCompoundAssignmentin classTreeScanner<Void,Void>
-
visitUnary
- Specified by:
visitUnaryin interfaceTreeVisitor<Void,Void> - Overrides:
visitUnaryin classTreeScanner<Void,Void>
-
visitBinary
- Specified by:
visitBinaryin interfaceTreeVisitor<Void,Void> - Overrides:
visitBinaryin classTreeScanner<Void,Void>
-
visitMemberSelect
- Specified by:
visitMemberSelectin interfaceTreeVisitor<Void,Void> - Overrides:
visitMemberSelectin classTreeScanner<Void,Void>
-
visitMemberReference
- Specified by:
visitMemberReferencein interfaceTreeVisitor<Void,Void> - Overrides:
visitMemberReferencein classTreeScanner<Void,Void>
-
visitIdentifier
- Specified by:
visitIdentifierin interfaceTreeVisitor<Void,Void> - Overrides:
visitIdentifierin classTreeScanner<Void,Void>
-
visitLiteral
- Specified by:
visitLiteralin interfaceTreeVisitor<Void,Void> - Overrides:
visitLiteralin classTreeScanner<Void,Void>
-
visitReturn
- Specified by:
visitReturnin interfaceTreeVisitor<Void,Void> - Overrides:
visitReturnin classTreeScanner<Void,Void>
-