[FIR] Try to infer result type of incomplete when expression

^KT-62069 Fixed
This commit is contained in:
Ivan Kochurkin
2023-11-17 12:51:56 +01:00
committed by Space Team
parent e2f245096c
commit 88f7b085e6
28 changed files with 113 additions and 59 deletions
@@ -44,7 +44,7 @@ FILE: whenElse.kt
}
public final fun case2(): R|kotlin/Unit| {
lval flag: R|kotlin/Any| = R|/get|(Boolean(false))
lval l1: R|kotlin/Unit| = when (R|<local>/flag|!!) {
lval l1: R|B| = when (R|<local>/flag|!!) {
==($subj$, Q|A|.R|/A.A1|) -> {
R|/B.B|()
}
@@ -53,7 +53,7 @@ FILE: whenElse.kt
}
}
lval l2: R|kotlin/Unit| = when (R|<local>/flag|) {
lval l2: R|B| = when (R|<local>/flag|) {
==($subj$, Q|A|.R|/A.A1|) -> {
R|/B.B|()
}
@@ -65,7 +65,7 @@ FILE: whenElse.kt
}
public final fun case2(): R|kotlin/Unit| {
lval flag: R|kotlin/Any| = R|/get|(Boolean(true))
lval l1: R|kotlin/Unit| = when (R|<local>/flag|!!) {
lval l1: R|B| = when (R|<local>/flag|!!) {
==($subj$, Q|A|.R|/A.A1|) -> {
R|/B.B|()
}
@@ -74,7 +74,7 @@ FILE: whenElse.kt
}
}
lval l2: R|kotlin/Unit| = when (R|<local>/flag|) {
lval l2: R|B| = when (R|<local>/flag|) {
==($subj$, Q|A|.R|/A.A1|) -> {
R|/B.B|()
}
@@ -86,7 +86,7 @@ FILE: whenElse.kt
}
public final fun case3(): R|kotlin/Unit| {
lval flag: R|kotlin/String| = String()
lval l1: R|kotlin/Unit| = when (R|<local>/flag|!!) {
lval l1: R|B| = when (R|<local>/flag|!!) {
==($subj$, Q|A|.R|/A.A1|) -> {
R|/B.B|()
}
@@ -95,7 +95,7 @@ FILE: whenElse.kt
}
}
lval l2: R|kotlin/Unit| = when (R|<local>/flag|) {
lval l2: R|B| = when (R|<local>/flag|) {
==($subj$, Q|A|.R|/A.A1|) -> {
R|/B.B|()
}