[FIR] Don't remove subsumed members from intersection overrides's overriddens

This fixes a bunch of missing overridden symbols in IR.
This is also required for fixing KT-59921 in the following commit
where we need to keep all overridden symbols of intersection overrides
so that we can enhance them properly.

#KT-57300 Fixed
#KT-57299 Fixed
#KT-59921
#KT-57300
#KT-62788
#KT-64271
#KT-64382
This commit is contained in:
Kirill Rakhman
2024-01-17 09:59:17 +01:00
committed by Space Team
parent d80dee6e1c
commit 3b841dcb98
58 changed files with 899 additions and 530 deletions
@@ -0,0 +1,16 @@
// FIR_IDENTICAL
abstract class C<T, ModelPropertyT : ModelListPropertyCore<T>>() :
A<ModelPropertyT, T>(),
I<List<T>>
abstract class A<out ModelPropertyT : ModelPropertyCore<*>, T> {
abstract val property: ModelPropertyT
}
interface I<out T> {
val property: ModelPropertyCore<out T>
}
interface ModelListPropertyCore<T> : ModelPropertyCore<List<T>>
interface ModelPropertyCore<T>