Files
kotlin/compiler/testData/codegen/boxInline/anonymousObject/properRecapturingInClass/inlineChain.kt
2018-06-28 12:26:41 +02:00

36 lines
548 B
Kotlin
Vendored

// IGNORE_BACKEND: JVM_IR
// FILE: 1.kt
package test
interface A {
fun run()
}
class B(val o: String, val k: String) {
inline fun testNested(crossinline f: (String) -> Unit) {
object : A {
override fun run() {
f(o)
}
}.run()
}
inline fun test(crossinline f: (String) -> Unit) {
testNested { it -> { f(it + k) }() }
}
}
// FILE: 2.kt
import test.*
fun box(): String {
var result = "fail"
B("O", "K").test { it -> result = it }
return result
}