4c04ad2371
Before this commit, such descriptors have null owners, which causes problems when the getter of the owner property is called.
41 lines
631 B
Kotlin
Vendored
41 lines
631 B
Kotlin
Vendored
// !JVM_DEFAULT_MODE: compatibility
|
|
// TARGET_BACKEND: JVM
|
|
// FILE: Simple.java
|
|
|
|
public interface Simple extends KInterface3 {
|
|
default String test() {
|
|
return KInterface3.DefaultImpls.test2(this, "OK");
|
|
}
|
|
}
|
|
|
|
// FILE: Foo.java
|
|
public class Foo implements Simple {
|
|
public String test2(String p) {
|
|
return "fail";
|
|
}
|
|
}
|
|
|
|
// FILE: main.kt
|
|
// JVM_TARGET: 1.8
|
|
// WITH_RUNTIME
|
|
|
|
interface KInterface<T> {
|
|
@JvmDefault
|
|
fun test2(p: T): T {
|
|
return p
|
|
}
|
|
}
|
|
|
|
interface KInterface2 : KInterface<String> {
|
|
|
|
}
|
|
|
|
interface KInterface3 : KInterface2 {
|
|
|
|
}
|
|
|
|
|
|
fun box(): String {
|
|
return Foo().test()
|
|
}
|