Class NullnessAnnotatedTypeFactory.NullnessTreeAnnotator
java.lang.Object
com.sun.source.util.SimpleTreeVisitor<Void,AnnotatedTypeMirror>
org.checkerframework.framework.type.treeannotator.TreeAnnotator
org.checkerframework.checker.nullness.NullnessAnnotatedTypeFactory.NullnessTreeAnnotator
- All Implemented Interfaces:
TreeVisitor<Void,AnnotatedTypeMirror>
- Enclosing class:
NullnessAnnotatedTypeFactory
-
Field Summary
Fields inherited from class org.checkerframework.framework.type.treeannotator.TreeAnnotator
atypeFactoryFields inherited from class com.sun.source.util.SimpleTreeVisitor
DEFAULT_VALUE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvisitBinary(BinaryTree tree, AnnotatedTypeMirror type) When overriding this method, getAnnotatedType on the left and right operands should only be called when absolutely necessary.visitIdentifier(IdentifierTree tree, AnnotatedTypeMirror type) visitMemberSelect(MemberSelectTree tree, AnnotatedTypeMirror type) visitNewArray(NewArrayTree tree, AnnotatedTypeMirror type) visitNewClass(NewClassTree tree, AnnotatedTypeMirror type) visitUnary(UnaryTree tree, AnnotatedTypeMirror type) visitVariable(VariableTree tree, AnnotatedTypeMirror type) Methods inherited from class org.checkerframework.framework.type.treeannotator.TreeAnnotator
log, visitMethodMethods inherited from class com.sun.source.util.SimpleTreeVisitor
defaultAction, visit, visit, visitAnnotatedType, visitAnnotation, visitAnyPattern, visitArrayAccess, visitArrayType, visitAssert, visitAssignment, visitBindingPattern, visitBlock, visitBreak, visitCase, visitCatch, visitClass, visitCompilationUnit, visitConditionalExpression, visitConstantCaseLabel, visitContinue, visitDeconstructionPattern, visitDefaultCaseLabel, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExports, visitExpressionStatement, visitForLoop, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabeledStatement, visitLambdaExpression, visitLiteral, visitMemberReference, visitModifiers, visitModule, visitOpens, visitOther, visitPackage, visitParameterizedType, visitParenthesized, visitPatternCaseLabel, visitPrimitiveType, visitProvides, visitRequires, visitReturn, visitStringTemplate, visitSwitch, visitSwitchExpression, visitSynchronized, visitThrow, visitTry, visitTypeCast, visitTypeParameter, visitUnionType, visitUses, visitWhileLoop, visitWildcard, visitYield
-
Constructor Details
-
NullnessTreeAnnotator
-
-
Method Details
-
visitMemberSelect
- Specified by:
visitMemberSelectin interfaceTreeVisitor<Void,AnnotatedTypeMirror> - Overrides:
visitMemberSelectin classSimpleTreeVisitor<Void,AnnotatedTypeMirror>
-
visitVariable
- Specified by:
visitVariablein interfaceTreeVisitor<Void,AnnotatedTypeMirror> - Overrides:
visitVariablein classSimpleTreeVisitor<Void,AnnotatedTypeMirror>
-
visitIdentifier
- Specified by:
visitIdentifierin interfaceTreeVisitor<Void,AnnotatedTypeMirror> - Overrides:
visitIdentifierin classSimpleTreeVisitor<Void,AnnotatedTypeMirror>
-
visitBinary
Description copied from class:TreeAnnotatorWhen overriding this method, getAnnotatedType on the left and right operands should only be called when absolutely necessary. Otherwise, the checker will be very slow on heavily nested binary trees. (For example, a + b + c + d + e + f + g + h.)One approach is to perform work in this method only if
type.hasPrimaryAnnotationInHierarchy(...)returns false.If a checker's performance is still too slow:
- Compute the types of binary trees in a subclass of
CFTransfer; look up the value in the store rather than the AnnotatedTypeFactory. - This method (
TreeAnnotator.visitBinary) should annotate binary trees with top so that the type applied in the transfer is always a subtype of the type the AnnotatedTypeFactory computes.
- Specified by:
visitBinaryin interfaceTreeVisitor<Void,AnnotatedTypeMirror> - Overrides:
visitBinaryin classTreeAnnotator
- Compute the types of binary trees in a subclass of
-
visitCompoundAssignment
- Specified by:
visitCompoundAssignmentin interfaceTreeVisitor<Void,AnnotatedTypeMirror> - Overrides:
visitCompoundAssignmentin classSimpleTreeVisitor<Void,AnnotatedTypeMirror>
-
visitUnary
- Specified by:
visitUnaryin interfaceTreeVisitor<Void,AnnotatedTypeMirror> - Overrides:
visitUnaryin classSimpleTreeVisitor<Void,AnnotatedTypeMirror>
-
visitNewClass
- Specified by:
visitNewClassin interfaceTreeVisitor<Void,AnnotatedTypeMirror> - Overrides:
visitNewClassin classSimpleTreeVisitor<Void,AnnotatedTypeMirror>
-
visitNewArray
- Specified by:
visitNewArrayin interfaceTreeVisitor<Void,AnnotatedTypeMirror> - Overrides:
visitNewArrayin classSimpleTreeVisitor<Void,AnnotatedTypeMirror>
-
visitMethodInvocation
- Specified by:
visitMethodInvocationin interfaceTreeVisitor<Void,AnnotatedTypeMirror> - Overrides:
visitMethodInvocationin classSimpleTreeVisitor<Void,AnnotatedTypeMirror>
-