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
@@ -5,7 +5,7 @@ package test
inline fun String.inlineFun(crossinline lambda: () -> String = { this }): String {
return {
this + lambda()
}()
}.let { it() }
}
// FILE: 2.kt
@@ -5,7 +5,7 @@ package test
inline fun String.inlineFun(crossinline lambda: () -> String, crossinline dlambda: () -> String = { this }): String {
return {
"${this} ${lambda()} ${dlambda()}"
}()
}.let { it() }
}
// FILE: 2.kt
@@ -8,7 +8,7 @@ class A(val value: String) {
inline fun String.inlineFun(crossinline lambda: () -> String = { this }): String {
return {
"$value ${this} ${lambda()}"
}()
}.let { it() }
}
}
@@ -7,7 +7,7 @@ class A(val value: String) {
inline fun String.inlineFun(crossinline lambda: () -> String, crossinline dlambda: () -> String = { this }): String {
return {
"$value ${this} ${lambda()} ${dlambda()}"
}()
}.let { it() }
}
}
@@ -6,8 +6,8 @@ inline fun String.inlineFun(crossinline lambda: () -> String = { { this }() }):
return {
{
this + lambda()
}()
}()
}.let { it() }
}.let { it() }
}
// FILE: 2.kt
@@ -8,8 +8,8 @@ class A(val value: String) {
return {
{
this + lambda()
}()
}()
}.let { it() }
}.let { it() }
}
}