FIR2IR: Fix IAE for case of local override of a method with defaults

It was happening because for MyClass.foo we didn't set overriddenSymbols
properly because in ClassMemberGenerator.convertFunctionContent we
used incorrect containingFirClass that was pointing to anonymous class
instead of MyClass.

^KT-58902 Fixed
This commit is contained in:
Denis.Zharkov
2023-06-07 13:54:40 +02:00
committed by Space Team
parent b04848d179
commit c474c54903
21 changed files with 422 additions and 2 deletions
@@ -0,0 +1,17 @@
// ISSUE: KT-58902
fun box(): String {
open class Outer {
open inner class A {
open fun foo(x: String, y: String? = null): String = x + (y ?: "K")
}
}
val b = object : Outer() {
inner class MyClass : A() {
override fun foo(x: String, y: String?) = super.foo(x, y)
}
}
return b.MyClass().foo("O")
}