FIR u/s scope: choose most specific intersection member for override check

Before this commit we took just first intersection member for this check.
However it's quite bad, because we were dependent on supertype order.
Choosing the most specific member looks more consistent here.

#KT-50969 Fixed
This commit is contained in:
Mikhail Glukhikh
2022-01-31 15:16:56 +03:00
committed by TeamCityServer
parent 1137e61fc8
commit 05d65275bf
4 changed files with 5 additions and 6 deletions
@@ -27,8 +27,8 @@ abstract class Impl : Base {
// FILE: test.kt
abstract <!RETURN_TYPE_MISMATCH_ON_INHERITANCE!>class ImplDerived<!> : Impl(), Derived {
abstract <!NOTHING_TO_OVERRIDE!>override<!> fun foo(name: String?): Derived
abstract class ImplDerived : Impl(), Derived {
abstract override fun foo(name: String?): Derived
}
abstract class DerivedImpl : Derived, Impl() {