public class NullnessFlowConditions extends SimpleTreeVisitor<@Nullable Void,@Nullable Void>
This class is implemented as a visitor; it should only be initially invoked on the conditions of e.g. if statements. TODO: extract any common behavior to a FlowConditions superclass. TODO: can we benefit from using FlowState?
| Modifier and Type | Field and Description |
|---|---|
protected PrintStream |
debug |
protected checkers.nullness.NullnessFlow |
nullnessFlow |
protected NullnessAnnotatedTypeFactory |
typefactory |
DEFAULT_VALUE| Constructor and Description |
|---|
NullnessFlowConditions(NullnessAnnotatedTypeFactory tf,
checkers.nullness.NullnessFlow nf,
PrintStream debug) |
defaultAction, visit, visit, visitAnnotatedType, visitAnnotation, visitArrayAccess, visitArrayType, visitAssert, visitBlock, visitBreak, visitCase, visitCatch, visitClass, visitCompilationUnit, visitCompoundAssignment, visitContinue, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExpressionStatement, visitForLoop, visitIf, visitImport, visitLabeledStatement, visitLambdaExpression, visitLiteral, visitMemberReference, visitMethod, visitModifiers, visitNewArray, visitNewClass, visitOther, visitParameterizedType, visitPrimitiveType, visitReturn, visitSwitch, visitSynchronized, visitThrow, visitTry, visitTypeCast, visitTypeParameter, visitUnionType, visitVariable, visitWhileLoop, visitWildcardprotected final NullnessAnnotatedTypeFactory typefactory
protected final checkers.nullness.NullnessFlow nullnessFlow
protected final PrintStream debug
public NullnessFlowConditions(NullnessAnnotatedTypeFactory tf, checkers.nullness.NullnessFlow nf, PrintStream debug)
public @ReadOnly Set<VariableElement> getNonnullElements()
public @ReadOnly Set<VariableElement> getNullableElements()
public @ReadOnly List<VariableElement> getExplicitNonnullElements()
public @ReadOnly List<VariableElement> getExplicitNullableElements()
public boolean isNullPolyNull()
public @ReadOnly Map<@Nullable Tree,Set<@Nullable AnnotationMirror>> getTreeResults()
public @Nullable Void visitUnary(UnaryTree node, @Nullable Void p)
visitUnary in interface TreeVisitor<@Nullable Void,@Nullable Void>visitUnary in class SimpleTreeVisitor<@Nullable Void,@Nullable Void>public @Nullable Void visitInstanceOf(InstanceOfTree node, @Nullable Void p)
visitInstanceOf in interface TreeVisitor<@Nullable Void,@Nullable Void>visitInstanceOf in class SimpleTreeVisitor<@Nullable Void,@Nullable Void>public @Nullable Void visitConditionalExpression(ConditionalExpressionTree node, @Nullable Void p)
visitConditionalExpression in interface TreeVisitor<@Nullable Void,@Nullable Void>visitConditionalExpression in class SimpleTreeVisitor<@Nullable Void,@Nullable Void>public @Nullable Void visitBinary(BinaryTree node, @Nullable Void p)
visitBinary in interface TreeVisitor<@Nullable Void,@Nullable Void>visitBinary in class SimpleTreeVisitor<@Nullable Void,@Nullable Void>public @Nullable Void visitIdentifier(IdentifierTree node, @Nullable Void p)
visitIdentifier in interface TreeVisitor<@Nullable Void,@Nullable Void>visitIdentifier in class SimpleTreeVisitor<@Nullable Void,@Nullable Void>public @Nullable Void visitMemberSelect(MemberSelectTree node, @Nullable Void p)
visitMemberSelect in interface TreeVisitor<@Nullable Void,@Nullable Void>visitMemberSelect in class SimpleTreeVisitor<@Nullable Void,@Nullable Void>public @Nullable Void visitParenthesized(ParenthesizedTree node, @Nullable Void p)
visitParenthesized in interface TreeVisitor<@Nullable Void,@Nullable Void>visitParenthesized in class SimpleTreeVisitor<@Nullable Void,@Nullable Void>public @Nullable Void visitAssignment(AssignmentTree node, @Nullable Void p)
visitAssignment in interface TreeVisitor<@Nullable Void,@Nullable Void>visitAssignment in class SimpleTreeVisitor<@Nullable Void,@Nullable Void>public @Nullable Void visitMethodInvocation(MethodInvocationTree node, @Nullable Void p)
visitMethodInvocation in interface TreeVisitor<@Nullable Void,@Nullable Void>visitMethodInvocation in class SimpleTreeVisitor<@Nullable Void,@Nullable Void>