[FIR] Add regression tests for number of issues fixed in K2

List of issues:
KT-4113,  KT-6822,  KT-7389,  KT-17817, KT-20223
KT-21463, KT-24503, KT-24737, KT-24779, KT-24901
KT-27261, KT-28668, KT-30497, KT-30756, KT-36958
KT-37365, KT-37490, KT-38288, KT-41038, KT-41721
KT-42136, KT-42169, KT-42449, KT-42715, KT-43553
KT-43603, KT-43846, KT-43936, KT-46288, KT-46301
KT-47373, KT-47484, KT-47490, KT-47495, KT-47750
KT-47815, KT-47870, KT-48975, KT-49024, KT-49045
KT-50134, KT-50160, KT-50550, KT-51045, KT-51143
KT-51796, KT-52262, KT-52424, KT-52860, KT-52934
KT-53086, KT-53494, KT-53671, KT-53752, KT-53819
KT-54478, KT-54518, KT-54931, KT-54990, KT-55138
KT-55379, KT-55555, KT-56243
This commit is contained in:
Dmitriy Novozhilov
2023-02-10 11:31:10 +02:00
committed by Space Team
parent 8ae5213155
commit aef9b129d2
129 changed files with 4253 additions and 0 deletions
@@ -0,0 +1,16 @@
FILE: earlyReturnInNonExhaustiveWhen.kt
public final fun foo(str: R|kotlin/String?|): R|kotlin/Int| {
when () {
==(R|<local>/str|, Null(null)) -> {
^foo Int(-1)
}
}
when () {
==(R|<local>/str|.R|kotlin/String.length|, Int(123)) -> {
^foo Int(123)
}
}
^foo Int(321)
}
@@ -0,0 +1,10 @@
// ISSUE: KT-24901
fun foo(str: String?): Int {
when {
str == null -> return -1
}
if (str.length == 123)
return 123
return 321
}
@@ -0,0 +1,19 @@
FILE: returnFromWhen.kt
public final fun test_1(name: R|kotlin/String?|): R|kotlin/Unit| {
when (R|<local>/name|) {
==($subj$, Null(null)) -> {
^test_1 Unit
}
}
R|<local>/name|.R|kotlin/String.length|
}
public final fun test_2(name: R|kotlin/String?|): R|kotlin/Unit| {
when (lval s: R|kotlin/String?| = R|<local>/name|) {
==($subj$, Null(null)) -> {
^test_2 Unit
}
}
R|<local>/name|.R|kotlin/String.length|
}
@@ -0,0 +1,15 @@
// ISSUE: KT-52262
fun test_1(name: String?) {
when (name) {
null -> return
}
name.length
}
fun test_2(name: String?) {
when (val s = name) {
null -> return
}
name.length
}