From f8143b35e51157ebebe0bdad6a28c3f68ba78bda Mon Sep 17 00:00:00 2001 From: Christopher Lambert Date: Sun, 12 Mar 2023 13:44:26 +0100 Subject: [PATCH] refactor to directly return mayBeNullFieldAccess the method already calls `onOverrideMayBeNullExpr` and `nullnessFromDataflow` so there is no point to break out of the switch to call the former again see also other usage of `mayBeNullFieldAccess` a few lines below also remove comments that just restated the obvious --- nullaway/src/main/java/com/uber/nullaway/NullAway.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/nullaway/src/main/java/com/uber/nullaway/NullAway.java b/nullaway/src/main/java/com/uber/nullaway/NullAway.java index 51f63fcd29..3c90f8d519 100644 --- a/nullaway/src/main/java/com/uber/nullaway/NullAway.java +++ b/nullaway/src/main/java/com/uber/nullaway/NullAway.java @@ -2265,19 +2265,15 @@ private boolean mayBeNullExpr(VisitorState state, ExpressionTree expr) { throw new IllegalStateException( "unexpected null symbol for dereference expression " + state.getSourceForNode(expr)); } - exprMayBeNull = mayBeNullFieldAccess(state, expr, exprSymbol); - break; + return mayBeNullFieldAccess(state, expr, exprSymbol); case IDENTIFIER: if (exprSymbol == null) { throw new IllegalStateException( "unexpected null symbol for identifier " + state.getSourceForNode(expr)); } - if (exprSymbol.getKind().equals(ElementKind.FIELD)) { - // Special case: mayBeNullFieldAccess runs handler.onOverrideMayBeNullExpr before - // dataflow. + if (exprSymbol.getKind() == ElementKind.FIELD) { return mayBeNullFieldAccess(state, expr, exprSymbol); } else { - // Check handler.onOverrideMayBeNullExpr before dataflow. exprMayBeNull = handler.onOverrideMayBeNullExpr(this, expr, exprSymbol, state, true); return exprMayBeNull ? nullnessFromDataflow(state, expr) : false; }