21 lines
328 B
Kotlin
21 lines
328 B
Kotlin
class Bar {
|
|
}
|
|
|
|
interface Foo {
|
|
fun xyzzy(x: Any?): String
|
|
}
|
|
|
|
fun buildFoo(bar: Bar.() -> Unit): Foo {
|
|
return object : Foo {
|
|
override fun xyzzy(x: Any?): String {
|
|
(x as? Bar)?.bar()
|
|
return "OK"
|
|
}
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
val foo = buildFoo({})
|
|
return foo.xyzzy(Bar())
|
|
}
|