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:
Vendored
+23
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user