JVM IR: Avoid direct lambda invokes in inline tests
This commit is contained in:
committed by
Alexander Udalov
parent
f0760e0550
commit
2acfb3a41f
+1
-1
@@ -5,7 +5,7 @@ package test
|
||||
inline fun String.inlineFun(crossinline lambda: () -> String = { this }): String {
|
||||
return {
|
||||
this + lambda()
|
||||
}()
|
||||
}.let { it() }
|
||||
}
|
||||
|
||||
// FILE: 2.kt
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ class A(val value: String) {
|
||||
inline fun String.inlineFun(crossinline lambda: () -> String = { this }): String {
|
||||
return {
|
||||
"$value ${this} ${lambda()}"
|
||||
}()
|
||||
}.let { it() }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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() }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -6,8 +6,8 @@ inline fun String.inlineFun(crossinline lambda: () -> String = { { this }() }):
|
||||
return {
|
||||
{
|
||||
this + lambda()
|
||||
}()
|
||||
}()
|
||||
}.let { it() }
|
||||
}.let { it() }
|
||||
}
|
||||
|
||||
// FILE: 2.kt
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@ class A(val value: String) {
|
||||
return {
|
||||
{
|
||||
this + lambda()
|
||||
}()
|
||||
}()
|
||||
}.let { it() }
|
||||
}.let { it() }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user