| 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()) | |
| } |