mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 15:53:19 +00:00
35 lines
634 B
Kotlin
Vendored
35 lines
634 B
Kotlin
Vendored
// FILE: 1.kt
|
|
|
|
package test
|
|
|
|
interface A {
|
|
fun run()
|
|
}
|
|
|
|
class B(val o: String, val k: String) {
|
|
|
|
inline fun testNested(crossinline f2: (String) -> Unit, crossinline f3: (String) -> Unit) {
|
|
object : A {
|
|
override fun run() {
|
|
f2(o)
|
|
f3(k)
|
|
}
|
|
}.run()
|
|
}
|
|
|
|
inline fun test(crossinline f: (String) -> Unit) {
|
|
testNested ({ it -> f(it + o) }) { it -> f(it + k) }
|
|
}
|
|
|
|
}
|
|
|
|
// FILE: 2.kt
|
|
|
|
import test.*
|
|
|
|
fun box(): String {
|
|
var result = ""
|
|
B("O", "K").test { it -> result += it }
|
|
return if (result == "OOKK") "OK" else "fail: $result"
|
|
}
|