protected static class NullnessAnnotatedTypeFactory.NullnessPropagationTreeAnnotator extends PropagationTreeAnnotator
Would this be valid to move into CommitmentTreeAnnotator.
atypeFactoryDEFAULT_VALUE| Constructor and Description |
|---|
NullnessPropagationTreeAnnotator(AnnotatedTypeFactory atypeFactory)
Create the NullnessPropagationTreeAnnotator.
|
| Modifier and Type | Method and Description |
|---|---|
Void |
visitBinary(BinaryTree node,
AnnotatedTypeMirror type)
When overriding this method, getAnnotatedType on the left and right operands should only be
called when absolutely necessary.
|
Void |
visitTypeCast(TypeCastTree node,
AnnotatedTypeMirror type) |
Void |
visitUnary(UnaryTree node,
AnnotatedTypeMirror type) |
visitCompoundAssignment, visitNewArrayvisitMethoddefaultAction, visit, visit, visitAnnotatedType, visitAnnotation, visitArrayAccess, visitArrayType, visitAssert, visitAssignment, visitBlock, visitBreak, visitCase, visitCatch, visitClass, visitCompilationUnit, visitConditionalExpression, visitContinue, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExpressionStatement, visitForLoop, visitIdentifier, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabeledStatement, visitLambdaExpression, visitLiteral, visitMemberReference, visitMemberSelect, visitMethodInvocation, visitModifiers, visitNewClass, visitOther, visitParameterizedType, visitParenthesized, visitPrimitiveType, visitReturn, visitSwitch, visitSynchronized, visitThrow, visitTry, visitTypeParameter, visitUnionType, visitVariable, visitWhileLoop, visitWildcardpublic NullnessPropagationTreeAnnotator(AnnotatedTypeFactory atypeFactory)
public Void visitBinary(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 TreeVisitor<Void,AnnotatedTypeMirror>visitBinary in class PropagationTreeAnnotatorpublic Void visitUnary(UnaryTree node, AnnotatedTypeMirror type)
visitUnary in interface TreeVisitor<Void,AnnotatedTypeMirror>visitUnary in class PropagationTreeAnnotatorpublic Void visitTypeCast(TypeCastTree node, AnnotatedTypeMirror type)
visitTypeCast in interface TreeVisitor<Void,AnnotatedTypeMirror>visitTypeCast in class PropagationTreeAnnotator