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
@@ -4,11 +4,11 @@
package test
inline fun <T> doSmth(a: T) : String {
return {a.toString()}()
return { a.toString() }.let { it() }
}
inline fun <T> doSmth2(a: T) : String {
return {{a.toString()}()}()
return { { a.toString() }.let { it() } }.let { it() }
}
// FILE: 2.kt
@@ -54,7 +54,7 @@ inline fun test2(crossinline param: () -> String): String {
inline fun test22(crossinline param: () -> String): String {
var result = "fail1"
{{result = param()}()}()
{ { result = param() }.let { it() } }.let { it() }
return result
}
@@ -5,7 +5,7 @@ package test
inline fun <R> call(crossinline f: () -> R) : R {
return {f()} ()
return { f() }.let { it() }
}
// FILE: 2.kt
@@ -4,7 +4,7 @@
package test
inline fun <R> call(crossinline f: () -> R) : R {
return { f() }()
return { f() }.let { it() }
}
// FILE: 2.kt