[K/N][K2] K2 behavioral difference with inconsistent inheritance of ObjCName
When a declaration with an ObjC annotation is stored in a different module, the annotation arguments are not resolved by default. This leads to a bug in the checker. Before attempting to find the objCName, it is necessary to resolve the annotation first. #KT-64276
This commit is contained in:
committed by
Space Team
parent
700432e111
commit
bb8c7dd04c
@@ -0,0 +1,38 @@
|
||||
// FIR_IDENTICAL
|
||||
|
||||
// MODULE: lib
|
||||
// FILE: kotlin1.kt
|
||||
@file:OptIn(ExperimentalObjCName::class)
|
||||
|
||||
package example
|
||||
import kotlin.experimental.ExperimentalObjCName
|
||||
|
||||
interface BaseInterface {
|
||||
@kotlin.native.ObjCName("getValue")
|
||||
fun getValue(): Int
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: kotlin2.kt
|
||||
|
||||
@file:OptIn(ExperimentalObjCName::class)
|
||||
|
||||
package example
|
||||
import kotlin.experimental.ExperimentalObjCName
|
||||
|
||||
open class BaseClass {
|
||||
@kotlin.native.ObjCName("getValue")
|
||||
fun getValue(): Int {
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: kotlin3.kt
|
||||
|
||||
@file:OptIn(ExperimentalObjCName::class)
|
||||
|
||||
package example
|
||||
import kotlin.experimental.ExperimentalObjCName
|
||||
|
||||
class Derived: BaseClass(), BaseInterface {}
|
||||
Reference in New Issue
Block a user