[K/N][K2]: K2 behavioral difference with inconsistent inheritance of ObjCName

The problem arises when retrieveDirectOverriddenOf returns a
substitution override member. For such members, it is impossible to get
the first base member. For a correct result, it is required to find
originalForSubstitutionOverride for all substitutionOverrides.

#KT-64276 Fixed
This commit is contained in:
Anastasia.Nekrasova
2024-01-31 20:43:29 +02:00
committed by Space Team
parent 5525a6829a
commit 434470a4f5
10 changed files with 235 additions and 5 deletions
+23
View File
@@ -0,0 +1,23 @@
// FIR_IDENTICAL
// FILE: kotlin.kt
@file:OptIn(ExperimentalObjCName::class)
package kotlin.native
import kotlin.experimental.ExperimentalObjCName
fun interface BaseInterface {
@ObjCName("close")
fun close()
}
interface DerivedInterface<S> : BaseInterface {
override fun close()
}
open class BaseClass {
@ObjCName("close")
fun close(){
}
}
class DerivedClass : BaseClass(), DerivedInterface<Any> {}