Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingPatternsInSwitch/WhenExpressions.java
Andrey Cherkasov 2f7a5590b8 [java-highlighting] Variable might not have been initialized: false negative on 'when' expression
IDEA-305354

GitOrigin-RevId: 0ad393dbe7f9245cb287320581ab4fe1fefaa273
2022-11-07 03:40:25 +00:00

45 lines
1.2 KiB
Java

class Test {
void test(Object o, Integer integer) {
switch (o) {
case String s when <error descr="Incompatible types. Found: 'java.lang.Integer', required: 'boolean'">integer</error> -> System.out.println();
default -> {}
}
switch (o) {
case String s when isBool() -> System.out.println();
default -> {}
}
switch (o) {
case Integer i when <error descr="Incompatible types. Found: 'int', required: 'boolean'">isInt()</error>:
break;
default:
break;
}
switch (o) {
case Integer i when <error descr="Incompatible types. Found: 'null', required: 'boolean'">null</error>:
break;
default:
break;
}
boolean flag1;
switch (o) {
case Integer i when <error descr="Variable 'flag1' might not have been initialized">flag1</error> -> System.out.println(1);
default -> System.out.println(0);
}
boolean flag2;
switch (o) {
case Double d when foo(<error descr="Variable 'flag2' might not have been initialized">flag2</error>) -> System.out.println(2);
default -> System.out.println(0);
}
}
private native boolean isBool();
private native int isInt();
private native boolean foo(boolean blag);
}