e7e80be34a
Before this commit we considered !isOverride as a sign that function / field / accessor has no overridden symbols. However, it's false for deserialized, because isOverride is always false there. This commit fixes 68 BB tests but breaks 25 BB tests (not yet muted)
39 lines
618 B
Kotlin
Vendored
39 lines
618 B
Kotlin
Vendored
// !JVM_DEFAULT_MODE: all-compatibility
|
|
// TARGET_BACKEND: JVM
|
|
// FILE: Simple.java
|
|
|
|
public interface Simple extends KInterface2 {
|
|
default String test() {
|
|
return KInterface2.DefaultImpls.getBar(this);
|
|
}
|
|
}
|
|
|
|
// FILE: Foo.java
|
|
public class Foo implements Simple {
|
|
public String getBar() {
|
|
return "fail";
|
|
}
|
|
}
|
|
|
|
// FILE: main.kt
|
|
// JVM_TARGET: 1.8
|
|
// WITH_RUNTIME
|
|
|
|
interface KInterface<T> {
|
|
|
|
val foo: T
|
|
|
|
val bar: T
|
|
get() = foo
|
|
}
|
|
|
|
interface KInterface2 : KInterface<String> {
|
|
override val foo: String
|
|
get() = "OK"
|
|
}
|
|
|
|
|
|
fun box(): String {
|
|
return Foo().test()
|
|
}
|