KT-2752: remove diagnostic that reports about overridden method having several names from different sources. Generate proxies instead. Fix reporting name clash when two distinct fake overrides require same name.
This commit is contained in:
@@ -13,6 +13,12 @@ class C : A, B {
|
||||
override fun foo(value: Int) = "C.foo($value)"
|
||||
}
|
||||
|
||||
open class D {
|
||||
open fun foo(value: Int) = "D.foo($value)"
|
||||
}
|
||||
|
||||
class E : D(), A, B
|
||||
|
||||
fun box(): String {
|
||||
val a: A = C()
|
||||
assertEquals("C.foo(55)", a.foo(55))
|
||||
@@ -24,5 +30,15 @@ fun box(): String {
|
||||
assertEquals("C.foo(42)", d.foo(42))
|
||||
assertEquals("C.foo(99)", d.`foo_za3lpa$`(99))
|
||||
|
||||
val da: A = E()
|
||||
assertEquals("D.foo(55)", da.foo(55))
|
||||
|
||||
val db: B = E()
|
||||
assertEquals("D.foo(23)", db.foo(23))
|
||||
|
||||
val dd: dynamic = E()
|
||||
assertEquals("D.foo(42)", dd.foo(42))
|
||||
assertEquals("D.foo(99)", dd.`foo_za3lpa$`(99))
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user