Files
openide/java/java-tests/testData/inspection/dataFlow/fixture/UnnamedPatterns.java
Tagir Valeev 0e37e37009 [java-dfa] Having no unreachable branches doesn't mean that the current branch is the only reachable.
GitOrigin-RevId: 6cd26f5f00467775378d6d52b33f3916dc1eba62
2023-09-07 09:00:43 +00:00

25 lines
705 B
Java

class Test {
public static String testReach(Object o1, Object o2) {
return switch (o1) {
case String _ when o2 instanceof String s: yield s;
case Object _: yield "strange";
};
}
record R(int x, int y) {}
void test(Object obj) {
if (obj instanceof R(_, var b)) {
return;
}
if (<warning descr="Condition 'obj instanceof R(var a, var b)' is always 'false'">obj instanceof R(var a, var b)</warning>) {
return;
}
if (<warning descr="Condition 'obj instanceof R(int a, _)' is always 'false'">obj instanceof R(int a, _)</warning>) {
return;
}
}
public static void main(String[] args) {
System.out.println(testReach("1", "2"));
}
}