JVM IR: Avoid direct lambda invokes in inline tests

This commit is contained in:
Steven Schäfer
2022-06-13 15:13:04 +02:00
committed by Alexander Udalov
parent f0760e0550
commit 2acfb3a41f
117 changed files with 211 additions and 210 deletions
@@ -87,7 +87,7 @@ fun box(): String {
suspendHere()
result = "OK"
}
}()
}.let { it() }
}
return "OK"
@@ -86,7 +86,7 @@ fun box(): String {
result = "OK"
}
}
} ()
}.let { it() }
return "OK"
}
@@ -18,7 +18,7 @@ interface Base<T> {
inline fun inlineMe(crossinline c: suspend () -> Unit) = object : Base<Unit> {
override suspend fun generic(): Unit {
c();
{}()
{}.let { it() }
}
}
@@ -10,7 +10,7 @@ object C {
inline fun inlineFun() = {
val O by "K"
O
}()
}.let { it() }
}
fun box(): String = ForceOutOfOrder.callInline()
@@ -12,7 +12,7 @@ inline operator fun String.getValue(t:Any?, p: KProperty<*>): String =
inline fun foo(crossinline f: () -> String) = {
val x by f()
x
}()
}.let { it() }
// FILE: 2.kt
import test.*