Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingPatterns/UnnamedPatterns.java
Tagir Valeev ab550ac4c0 [java] IDEA-326473 Implement unnamed patterns
GitOrigin-RevId: 1b5db700434306be23d07e38905537025e2cc892
2023-07-27 10:03:54 +00:00

30 lines
891 B
Java

public class UnnamedPatterns {
record R(int a, int b) {}
void test(Object obj) {
if (obj instanceof <error descr="As of Java 9, '_' is a keyword, and may not be used as an identifier">_</error>) {}
if (obj instanceof R(_, _)) {}
if (obj instanceof R(int a, _)) {
System.out.println(a);
}
if (obj instanceof R(_, int b)) {
System.out.println(b);
}
if (obj instanceof R(_, _, <error descr="Incorrect number of nested patterns: expected 2 but found 3">_)</error>) {
}
}
void testSwitch(Object obj) {
switch (obj) {
case R(_, var b) -> {
}
case <error descr="Label is dominated by a preceding case label 'R(_, var b)'">R(var c, var b)</error> -> {
}
case <error descr="Label is dominated by a preceding case label 'R(_, var b)'">R(int a, _)</error> -> {
}
default -> {
}
}
}
}