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 InferredNullabilitygetInferredNullability(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:
visitIdentifierin interfaceTreeVisitor<Void,Void> - Overrides:
visitIdentifierin classTreeScanner<Void,Void>
-
visitAssignment
- Specified by:
visitAssignmentin interfaceTreeVisitor<Void,Void> - Overrides:
visitAssignmentin classTreeScanner<Void,Void>
-
visitVariable
- Specified by:
visitVariablein interfaceTreeVisitor<Void,Void> - Overrides:
visitVariablein classTreeScanner<Void,Void>
-
visitReturn
- Specified by:
visitReturnin interfaceTreeVisitor<Void,Void> - Overrides:
visitReturnin classTreeScanner<Void,Void>
-
visitMethodInvocation
- Specified by:
visitMethodInvocationin interfaceTreeVisitor<Void,Void> - Overrides:
visitMethodInvocationin classTreeScanner<Void,Void>
-