[FIR2IR] Properly calculate overridden functions for lazy fake overrides
For detailed explanation see the comment to `computeBaseSymbolsWithContainingClass` function in `FakeOverrideGenerator.kt` ^KT-65592
This commit is contained in:
committed by
Space Team
parent
1761c8eb25
commit
e431a96897
+43
@@ -0,0 +1,43 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// ISSUE: KT-65592
|
||||
|
||||
// FILE: A.java
|
||||
public interface A {
|
||||
String f();
|
||||
}
|
||||
|
||||
// FILE: AImpl.java
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class AImpl implements A {
|
||||
@Override
|
||||
@NotNull
|
||||
public String f() {
|
||||
return "OK";
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: B.kt
|
||||
interface B : A
|
||||
|
||||
// FILE: BImpl.kt
|
||||
open class BImpl : AImpl(), B
|
||||
|
||||
// FILE: C.java
|
||||
public interface C extends B { }
|
||||
|
||||
// FILE: CImpl.java
|
||||
public class CImpl extends BImpl implements C { }
|
||||
|
||||
// FILE: D.java
|
||||
public interface D extends C { }
|
||||
|
||||
// FILE: DImpl.java
|
||||
public class DImpl extends CImpl implements D { }
|
||||
|
||||
// FILE: box.kt
|
||||
class Z : DImpl(), D
|
||||
|
||||
fun box(): String {
|
||||
return Z().f()
|
||||
}
|
||||
Reference in New Issue
Block a user