Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingPatternsInSwitch/PatternsInSwitchInOldJava.java
Roman Ivanov 8a9bebd7f8 [java] check if language level is enough to use null in switch
GitOrigin-RevId: 806af1f97f457bf77dd3f780e72578de5be4fb27
2021-06-15 17:46:06 +00:00

23 lines
1.1 KiB
Java

class X {
int switchTest(Object obj) {
return switch (obj) {
case <error descr="Guarded and parenthesized patterns are not supported at language level '16'">(String s)</error> -> 1;
case <error descr="Guarded and parenthesized patterns are not supported at language level '16'">Integer i && predicate()</error> -> 2;
case <error descr="Patterns in switch are not supported at language level '16'">Integer i</error> -> 3;
case <error descr="Patterns in switch are not supported at language level '16'">default</error> -> 4;
case <error descr="Patterns in switch are not supported at language level '16'">null</error> -> 10;
};
}
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();
}