FIR2IR: Fix incorrect fake override structure for delegated member in supertype

In C, fake override for `name` should have B::name as base symbol, not Named::name
This commit is contained in:
Denis.Zharkov
2021-01-25 15:55:22 +03:00
parent 844d2572e5
commit d9f45fdf9e
7 changed files with 51 additions and 1 deletions
@@ -0,0 +1,23 @@
// TARGET_BACKEND: JVM
// FILE: A.kt
package a
interface Named {
val name: String
}
interface A : Named
// FILE: B.kt
import a.*
open class B(val a: A) : A by a, Named
class C(a: A) : B(a)
fun box(): String {
return C(object : A {
override val name: String
get() = "OK"
}).name
}