49 lines
737 B
Kotlin
Vendored
49 lines
737 B
Kotlin
Vendored
package test
|
|
|
|
interface X {
|
|
fun foo(): String? {
|
|
return null
|
|
}
|
|
}
|
|
|
|
interface Y {
|
|
fun foo(): String {
|
|
return "foo"
|
|
}
|
|
}
|
|
|
|
interface Incompatible {
|
|
fun foo(): Int {
|
|
return 3
|
|
}
|
|
}
|
|
|
|
class Test1(val x: X) : X by x, Y {
|
|
override fun foo(): String? {
|
|
return null
|
|
}
|
|
}
|
|
|
|
class Test2(val x: X) : X by x, Y {
|
|
override fun foo(): String {
|
|
return "foo"
|
|
}
|
|
}
|
|
|
|
class Test3(val y: Y) : X, Y by y {
|
|
override fun foo(): String? {
|
|
return null
|
|
}
|
|
}
|
|
|
|
class Test4(val y: Y) : X, Y by y {
|
|
override fun foo(): String {
|
|
return "foo"
|
|
}
|
|
}
|
|
|
|
class Test5(val y: Y, val x: X) : X by x, Y by y, Incompatible {
|
|
override fun foo(): Int {
|
|
return 3
|
|
}
|
|
} |