IR: do not build fake overrides for static members of interfaces

Split members into static/non-static, and only build fake overrides for
inherited static members of classes.

 #KT-65276 Fixed
 #KT-65277 Fixed
This commit is contained in:
Alexander Udalov
2024-02-01 00:13:40 +01:00
committed by Space Team
parent b28339e8bc
commit d450e3074b
24 changed files with 417 additions and 25 deletions
@@ -0,0 +1,18 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// FILE: A.java
public interface A {
static String foo() { return "OK"; }
}
// FILE: B.java
public interface B {
static String foo() { return "Fail"; }
}
// FILE: box.kt
class C : A, B {
fun test(): String = A.foo()
}
fun box(): String = C().test()