[java-highlighting] IDEA-324880 Exhaustive switches can produce definitely assigned variables

GitOrigin-RevId: 7e644a2565803fdd900830d986dba481aeb127db
This commit is contained in:
Mikhail Pyltsin
2023-07-11 17:23:37 +02:00
committed by intellij-monorepo-bot
parent ff09dfa2e1
commit 5237df5eb3
6 changed files with 107 additions and 11 deletions

View File

@@ -216,4 +216,26 @@ class C {
}
System.out.println(<error descr="Variable 's' might not have been initialized">s</error>);
}
sealed interface T permits T1, T2 {}
final class T1 implements T {}
final class T2 implements T {}
private void testStatement1(T obj) {
int i;
switch (obj) {
case T1 t1 -> i = 1;
case T2 t2 -> i = 2;
};
System.out.println(i);
}
private void testStatement2(int obj) {
int i;
switch (obj) {
case 1 -> i = 1;
case 2 -> i = 2;
};
System.out.println(<error descr="Variable 'i' might not have been initialized">i</error>);
}
}