mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 15:53:19 +00:00
34 lines
586 B
Kotlin
Vendored
34 lines
586 B
Kotlin
Vendored
// FILE: Delegation.java
|
|
|
|
public class Delegation {
|
|
public static class ReturnNull {
|
|
public String foo() {
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
// FILE: 1.kt
|
|
|
|
interface Tr {
|
|
fun foo(): String
|
|
}
|
|
|
|
class DelegateTo : Delegation.ReturnNull(), Tr {
|
|
override fun foo() = super<Delegation.ReturnNull>.foo()
|
|
}
|
|
|
|
class DelegateFrom : Tr by DelegateTo() {
|
|
}
|
|
|
|
fun box(): String {
|
|
try {
|
|
DelegateFrom().foo()
|
|
return "Fail: should have been an exception"
|
|
}
|
|
catch(e: IllegalStateException) {
|
|
println(e.message)
|
|
return "OK"
|
|
}
|
|
}
|