diff --git a/nullaway/src/main/java/com/uber/nullaway/NullAway.java b/nullaway/src/main/java/com/uber/nullaway/NullAway.java index 62d49d2a23..51f63fcd29 100644 --- a/nullaway/src/main/java/com/uber/nullaway/NullAway.java +++ b/nullaway/src/main/java/com/uber/nullaway/NullAway.java @@ -2197,14 +2197,14 @@ private boolean mayBeNullExpr(VisitorState state, ExpressionTree expr) { // obviously not null return false; } + if (expr.getKind() == Tree.Kind.NULL_LITERAL) { + // obviously null, so same as for above literals we return early without consulting handlers + return true; + } // the logic here is to avoid doing dataflow analysis whenever possible Symbol exprSymbol = ASTHelpers.getSymbol(expr); boolean exprMayBeNull; switch (expr.getKind()) { - case NULL_LITERAL: - // obviously null - exprMayBeNull = true; - break; case ARRAY_ACCESS: // unsound! we cannot check for nullness of array contents yet exprMayBeNull = false;