Files
kotlin/compiler/testData/codegen/box/traits/interfaceWithNonAbstractFunIndirect.kt
2018-06-09 19:15:38 +03:00

30 lines
516 B
Kotlin
Vendored

// IGNORE_BACKEND: JS_IR
interface I {
fun foo(): String = "foo"
fun bar(x: String = "default") = "bar:$x"
}
interface J : I
interface K : J
class A : I, J
class B : K, I
fun box(): String {
val foo = A().foo()
if (foo != "foo") return "fail1: $foo"
val bar1 = A().bar()
if (bar1 != "bar:default") return "fail2: $bar1"
val bar2 = A().bar("q")
if (bar2 != "bar:q") return "fail3: $bar2"
val foo2 = B().foo()
if (foo2 != "foo") return "fail4: $foo2"
return "OK"
}