Class NullnessQualifierInference
java.lang.Object
com.sun.source.util.TreeScanner<Void,Void>
com.google.errorprone.dataflow.nullnesspropagation.inference.NullnessQualifierInference
- All Implemented Interfaces:
TreeVisitor<Void,
Void>
Eagerly traverse one
MethodTree
at a time and accumulate constraints between nullness
qualifiers. Those constraints are then solved as needed in InferredNullability
. Based on
Java type inference as defined in JLS section 18.- Author:
- bennostein@google.com (Benno Stein)
-
Method Summary
Modifier and TypeMethodDescriptionstatic InferredNullability
getInferredNullability
(Tree methodOrInitializerOrLambda) visitAssignment
(AssignmentTree node, Void unused) visitIdentifier
(IdentifierTree node, Void unused) visitMethodInvocation
(MethodInvocationTree node, Void unused) visitReturn
(ReturnTree node, Void unused) visitVariable
(VariableTree node, Void unused) Methods inherited from class TreeScanner
reduce, scan, scan, visitAnnotatedType, visitAnnotation, visitAnyPattern, visitArrayAccess, visitArrayType, visitAssert, visitBinary, visitBindingPattern, visitBlock, visitBreak, visitCase, visitCatch, visitClass, visitCompilationUnit, visitCompoundAssignment, visitConditionalExpression, visitConstantCaseLabel, visitContinue, visitDeconstructionPattern, visitDefaultCaseLabel, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExports, visitExpressionStatement, visitForLoop, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabeledStatement, visitLambdaExpression, visitLiteral, visitMemberReference, visitMemberSelect, visitMethod, visitModifiers, visitModule, visitNewArray, visitNewClass, visitOpens, visitOther, visitPackage, visitParameterizedType, visitParenthesized, visitPatternCaseLabel, visitPrimitiveType, visitProvides, visitRequires, visitSwitch, visitSwitchExpression, visitSynchronized, visitThrow, visitTry, visitTypeCast, visitTypeParameter, visitUnary, visitUnionType, visitUses, visitWhileLoop, visitWildcard, visitYield
-
Method Details
-
getInferredNullability
-
visitIdentifier
- Specified by:
visitIdentifier
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitIdentifier
in classTreeScanner<Void,
Void>
-
visitAssignment
- Specified by:
visitAssignment
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitAssignment
in classTreeScanner<Void,
Void>
-
visitVariable
- Specified by:
visitVariable
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitVariable
in classTreeScanner<Void,
Void>
-
visitReturn
- Specified by:
visitReturn
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitReturn
in classTreeScanner<Void,
Void>
-
visitMethodInvocation
- Specified by:
visitMethodInvocation
in interfaceTreeVisitor<Void,
Void> - Overrides:
visitMethodInvocation
in classTreeScanner<Void,
Void>
-