diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingPatternsInSwitch/ReachabilityStatement.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingPatternsInSwitch/ReachabilityStatement.java new file mode 100644 index 000000000000..b7aa6bab8e66 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingPatternsInSwitch/ReachabilityStatement.java @@ -0,0 +1,48 @@ +public class Switches { + + enum E { + A, B + } + + int testReachability(E e) { + switch (e) { + case E d when d == E.A: + return 1; + case A: + return -1; + case B: + return -2; + } + return 1; + } + + sealed interface T { + } + + final class T1 implements T { + } + + final class T2 implements T { + } + + void testReachability2(T i) { + switch (i) { + case T1 f: + throw new RuntimeException(); + case T2 s: + throw new RuntimeException(); + } + System.out.println(); + } + + class Reachability2{ + sealed interface T{} + final class T1 implements T{} + + int test(T t) { + switch (t) { + case T1 t1: return 2; + } + } + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/LightPatternsForSwitchHighlightingTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/LightPatternsForSwitchHighlightingTest.java index 621218fdfd6b..0412d3a161af 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/LightPatternsForSwitchHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/LightPatternsForSwitchHighlightingTest.java @@ -114,6 +114,9 @@ public class LightPatternsForSwitchHighlightingTest extends LightJavaCodeInsight public void testReachability() { doTest(); } + public void testReachabilityStatement() { + doTest(); + } public void testEffectivelyFinal() { IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_20_PREVIEW, this::doTest);