Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingPatternsInSwitch/PatternsInSwitchIn16Java.java
Andrey Cherkasov d1049d3b8f [java-highlighting] Incorrect priority of error identification for "case default"
IDEA-315471

GitOrigin-RevId: 15ba8b32ad2f8616aa7be9f76a4a7f0880baf196
2023-03-16 16:23:41 +00:00

29 lines
1.1 KiB
Java

class X {
int switchTest(Object obj) {
return switch (obj) {
case (String <error descr="Patterns in switch are not supported at language level '16'">s</error>) -> 1;
case Integer <error descr="Patterns in switch are not supported at language level '16'">i</error> && predicate() -> 2;
case Integer <error descr="Patterns in switch are not supported at language level '16'">i</error> -> 3;
case default -> 4;
case <error descr="Patterns in switch are not supported at language level '16'">null</error> -> 10;
};
}
void testCaseDefault(int num) {
switch (num) {
case <error descr="The label for the default case must only use the 'default' keyword, without 'case'">default</error> -> {}
}
}
int instanceofTest(Object obj) {
if (obj instanceof (<error descr="Guarded and parenthesized patterns are not supported at language level '16'">Integer i && predicate()</error>)) {
return 1;
}
if (obj instanceof <error descr="Guarded and parenthesized patterns are not supported at language level '16'">(String s)</error>) {
return 3;
}
return 2;
}
native static boolean predicate();
}