protected class NullnessAnnotatedTypeFactory.NullnessTreeAnnotator extends TreeAnnotator
atypeFactory| Constructor and Description |
|---|
NullnessTreeAnnotator(NullnessAnnotatedTypeFactory atypeFactory) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Void |
visitBinary(com.sun.source.tree.BinaryTree node,
AnnotatedTypeMirror type)
When overriding this method, getAnnotatedType on the left and right operands should only be
called when absolutely necessary.
|
java.lang.Void |
visitCompoundAssignment(com.sun.source.tree.CompoundAssignmentTree node,
AnnotatedTypeMirror type) |
java.lang.Void |
visitIdentifier(com.sun.source.tree.IdentifierTree node,
AnnotatedTypeMirror type) |
java.lang.Void |
visitMemberSelect(com.sun.source.tree.MemberSelectTree node,
AnnotatedTypeMirror type) |
java.lang.Void |
visitNewArray(com.sun.source.tree.NewArrayTree node,
AnnotatedTypeMirror type) |
java.lang.Void |
visitNewClass(com.sun.source.tree.NewClassTree node,
AnnotatedTypeMirror type) |
java.lang.Void |
visitUnary(com.sun.source.tree.UnaryTree node,
AnnotatedTypeMirror type) |
java.lang.Void |
visitVariable(com.sun.source.tree.VariableTree node,
AnnotatedTypeMirror type) |
visitMethoddefaultAction, visit, visit, visitAnnotatedType, visitAnnotation, visitArrayAccess, visitArrayType, visitAssert, visitAssignment, visitBlock, visitBreak, visitCase, visitCatch, visitClass, visitCompilationUnit, visitConditionalExpression, visitContinue, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExports, visitExpressionStatement, visitForLoop, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabeledStatement, visitLambdaExpression, visitLiteral, visitMemberReference, visitMethodInvocation, visitModifiers, visitModule, visitOpens, visitOther, visitPackage, visitParameterizedType, visitParenthesized, visitPrimitiveType, visitProvides, visitRequires, visitReturn, visitSwitch, visitSynchronized, visitThrow, visitTry, visitTypeCast, visitTypeParameter, visitUnionType, visitUses, visitWhileLoop, visitWildcardpublic NullnessTreeAnnotator(NullnessAnnotatedTypeFactory atypeFactory)
public java.lang.Void visitMemberSelect(com.sun.source.tree.MemberSelectTree node,
AnnotatedTypeMirror type)
visitMemberSelect in interface com.sun.source.tree.TreeVisitor<java.lang.Void,AnnotatedTypeMirror>visitMemberSelect in class com.sun.source.util.SimpleTreeVisitor<java.lang.Void,AnnotatedTypeMirror>public java.lang.Void visitVariable(com.sun.source.tree.VariableTree node,
AnnotatedTypeMirror type)
visitVariable in interface com.sun.source.tree.TreeVisitor<java.lang.Void,AnnotatedTypeMirror>visitVariable in class com.sun.source.util.SimpleTreeVisitor<java.lang.Void,AnnotatedTypeMirror>public java.lang.Void visitIdentifier(com.sun.source.tree.IdentifierTree node,
AnnotatedTypeMirror type)
visitIdentifier in interface com.sun.source.tree.TreeVisitor<java.lang.Void,AnnotatedTypeMirror>visitIdentifier in class com.sun.source.util.SimpleTreeVisitor<java.lang.Void,AnnotatedTypeMirror>public java.lang.Void visitBinary(com.sun.source.tree.BinaryTree node,
AnnotatedTypeMirror type)
TreeAnnotatorIf a checker's performance is still too slow, the types of binary trees could be computed
in a subclass of CFTransfer. When computing the
types in a transfer, look up the value in the store rather than the AnnotatedTypeFactory.
Then this method should annotate binary trees with top so that the type applied in the
transfer is always a subtype of the type the AnnotatedTypeFactory computes.
visitBinary in interface com.sun.source.tree.TreeVisitor<java.lang.Void,AnnotatedTypeMirror>visitBinary in class TreeAnnotatorpublic java.lang.Void visitCompoundAssignment(com.sun.source.tree.CompoundAssignmentTree node,
AnnotatedTypeMirror type)
visitCompoundAssignment in interface com.sun.source.tree.TreeVisitor<java.lang.Void,AnnotatedTypeMirror>visitCompoundAssignment in class com.sun.source.util.SimpleTreeVisitor<java.lang.Void,AnnotatedTypeMirror>public java.lang.Void visitUnary(com.sun.source.tree.UnaryTree node,
AnnotatedTypeMirror type)
visitUnary in interface com.sun.source.tree.TreeVisitor<java.lang.Void,AnnotatedTypeMirror>visitUnary in class com.sun.source.util.SimpleTreeVisitor<java.lang.Void,AnnotatedTypeMirror>public java.lang.Void visitNewClass(com.sun.source.tree.NewClassTree node,
AnnotatedTypeMirror type)
visitNewClass in interface com.sun.source.tree.TreeVisitor<java.lang.Void,AnnotatedTypeMirror>visitNewClass in class com.sun.source.util.SimpleTreeVisitor<java.lang.Void,AnnotatedTypeMirror>public java.lang.Void visitNewArray(com.sun.source.tree.NewArrayTree node,
AnnotatedTypeMirror type)
visitNewArray in interface com.sun.source.tree.TreeVisitor<java.lang.Void,AnnotatedTypeMirror>visitNewArray in class com.sun.source.util.SimpleTreeVisitor<java.lang.Void,AnnotatedTypeMirror>