Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingPatternsInSwitch/SwitchExhaustivenessIn21JavaInfiniteRecursion.java
Mikhail Pyltsin 717a44934b [java-highlighting] IDEA-354239 support exhaustiveness for record patterns with cross-section
GitOrigin-RevId: 3a5ce8c4aeb88270fc750f1b671d02e0e3a9b7a7
2024-05-30 11:57:36 +00:00

21 lines
666 B
Java

class Test {
sealed interface A1 permits A11, A12 {}
sealed interface A2 permits A21, A22 {}
<error descr="Cyclic inheritance involving 'Test.A11'">sealed interface A11 extends A11 <error descr="'implements' not allowed on interface">implements</error> A1</error> {}
record A12() implements A1 {}
record A21() implements A2 { }
record A22() implements A2 { }
record R1(A2 a2) { }
record R2(A1 a1, R1 r1) { }
static void r(R2 r2) {
switch (r2) {
case R2(A11 b1, R1(A2 b2)) -> System.out.println("1");
case R2(A12 b1, R1(A22 b2)) -> System.out.println("2");
case R2(A1 b1, R1(A21 b2)) -> System.out.println("3");
}
}
}