From 5c26d0df6ee6e98027c2d41375cd6961b6ec38f9 Mon Sep 17 00:00:00 2001 From: Liam Miller-Cushon Date: Thu, 18 Jul 2024 07:41:26 -0700 Subject: [PATCH] Fix `ASTHelpers#isRuleKind` on JDK versions without `CaseTree#getCaseKind` Fixes https://github.com/google/error-prone/issues/4479#issuecomment-2235327984 PiperOrigin-RevId: 653615823 --- .../src/main/java/com/google/errorprone/util/ASTHelpers.java | 3 +++ .../bugpatterns/TraditionalSwitchExpressionTest.java | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/check_api/src/main/java/com/google/errorprone/util/ASTHelpers.java b/check_api/src/main/java/com/google/errorprone/util/ASTHelpers.java index 1707c6a4b50..79bf0896a8f 100644 --- a/check_api/src/main/java/com/google/errorprone/util/ASTHelpers.java +++ b/check_api/src/main/java/com/google/errorprone/util/ASTHelpers.java @@ -2813,6 +2813,9 @@ private static Method getCaseTreeGetExpressionsMethod() { * }. */ public static boolean isRuleKind(CaseTree caseTree) { + if (GET_CASE_KIND_METHOD == null) { + return false; + } Enum kind; try { kind = (Enum) GET_CASE_KIND_METHOD.invoke(caseTree); diff --git a/core/src/test/java/com/google/errorprone/bugpatterns/TraditionalSwitchExpressionTest.java b/core/src/test/java/com/google/errorprone/bugpatterns/TraditionalSwitchExpressionTest.java index 931626e04b4..00a3dbc18c4 100644 --- a/core/src/test/java/com/google/errorprone/bugpatterns/TraditionalSwitchExpressionTest.java +++ b/core/src/test/java/com/google/errorprone/bugpatterns/TraditionalSwitchExpressionTest.java @@ -50,7 +50,6 @@ public void positive() { @Test public void negativeStatement() { - assumeTrue(RuntimeVersion.isAtLeast14()); testHelper .addSourceLines( "Test.java",