Files
kotlin-fork/compiler/testData/codegen/boxInline/anonymousObject/twoCapturedReceivers/kt8668_3.kt
T
2021-02-02 17:53:52 +03:00

30 lines
584 B
Kotlin
Vendored

// NO_CHECK_LAMBDA_INLINING
// IGNORE_BACKEND: JS
// FILE: 1.kt
package test
class Person(val name: String) {
fun sayName() = doSayName { name }
inline fun doSayName(crossinline call: () -> String): String {
return nestedSayName1 { name + Person("sub").nestedSayName2 { call() } }
}
fun nestedSayName1(call: () -> String) = call()
inline fun nestedSayName2(call: () -> String) = name + call()
}
// FILE: 2.kt
import test.*
fun box(): String {
val res = Person("OK").sayName()
if (res != "OKsubOK") return "fail: $res"
return "OK"
}