JVM IR: do not resolve fake override in InterfaceSuperCallsLowering
This leads to problems after 4dd794c2d2, because the immediate super
function's DefaultImpls and the implementation's DefaultImpls have
differing type parameters.
Looks like resolveFakeOverride was used here (maybe unintentionally) as
a workaround to the problem caused by the incorrect origin check in
isDefinitelyNotDefaultImplsMethod.
This commit is contained in:
+15
@@ -0,0 +1,15 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
|
||||
interface A {
|
||||
fun foo(o: String): String = o + "K"
|
||||
}
|
||||
|
||||
interface B<T> : A
|
||||
|
||||
class C : B<Int> {
|
||||
override fun foo(o: String): String {
|
||||
return super<B>.foo(o)
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String = C().foo("O")
|
||||
Reference in New Issue
Block a user