mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-12 15:53:40 +00:00
36 lines
689 B
Kotlin
Vendored
36 lines
689 B
Kotlin
Vendored
interface One {
|
|
public open fun foo() : Int
|
|
public open fun faz() : Int = 10
|
|
}
|
|
interface Two {
|
|
public open fun foo() : Int
|
|
public open fun quux() : Int = 100
|
|
}
|
|
|
|
class OneImpl : One {
|
|
public override fun foo() = 1
|
|
}
|
|
class TwoImpl : Two {
|
|
public override fun foo() = 2
|
|
}
|
|
|
|
class Test2(a : One, b : Two) : Two by b, One by a {
|
|
public override fun foo() = 0
|
|
}
|
|
|
|
fun box() : String {
|
|
var t2 = Test2(OneImpl(), TwoImpl())
|
|
if (t2.foo() != 0)
|
|
return "Fail #1"
|
|
if (t2.faz() != 10)
|
|
return "Fail #2"
|
|
if (t2.quux() != 100)
|
|
return "Fail #3"
|
|
if (t2 !is One)
|
|
return "Fail #4"
|
|
if (t2 !is Two)
|
|
return "Fail #5"
|
|
|
|
return "OK"
|
|
}
|