Files
kotlin-fork/compiler/testData/codegen/boxInline/anonymousObject/properRecapturingInClass/lambdaChain_2.kt
T
Alexander Udalov 3f034e8b67 Enable lightweight lambdas (aka invokedynamic) since 2.0
#KT-45375 Fixed
 #KT-58173 Open
2024-02-08 19:46:18 +00:00

42 lines
826 B
Kotlin
Vendored

// IGNORE_INLINER_K2: IR
// NO_CHECK_LAMBDA_INLINING
// FILE: 1.kt
package test
class A {
val param = "start"
var result = "fail"
var addParam = "_additional_"
inline fun inlineFun(arg: String, crossinline f: (String) -> Unit) {
{
f(arg + addParam)
}.let { it() }
}
fun box(): String {
inlineFun("1") { c ->
{
inlineFun("2") { a ->
{
{
result = param + c + a
}.let { it() }
}.let { it() }
}
}.let { it() }
}
return if (result == "start1_additional_2_additional_") "OK" else "fail: $result"
}
}
// FILE: 2.kt
import test.*
fun box(): String {
return A().box()
}