Native: support objcExportReportNameCollisions=true binary option
This binary option makes the compiler emit a warning whenever it mangles a name emitted by ObjCExport. ^KT-63153 Fixed
This commit is contained in:
committed by
Space Team
parent
656b61b945
commit
8d20d5b16c
@@ -0,0 +1,38 @@
|
||||
@file:OptIn(kotlin.experimental.ExperimentalObjCName::class)
|
||||
|
||||
package pkg.lib1
|
||||
|
||||
interface InterfaceClash
|
||||
class ClassClash
|
||||
|
||||
interface InterfaceClash2
|
||||
class ClassClash2
|
||||
|
||||
@ObjCName("InterfaceClash2")
|
||||
interface InterfaceClashWithObjCName
|
||||
@ObjCName("ClassClash2")
|
||||
class ClassClashWithObjCName
|
||||
|
||||
class Lib1Kt
|
||||
|
||||
enum class E {
|
||||
ONE,
|
||||
one,
|
||||
@ObjCName("one")
|
||||
TWO,
|
||||
ENTRIES,
|
||||
@ObjCName("values") VALUES1;
|
||||
}
|
||||
|
||||
interface I1 {
|
||||
val prop: Int
|
||||
fun method()
|
||||
}
|
||||
|
||||
interface I2 {
|
||||
val prop: String
|
||||
fun method()
|
||||
}
|
||||
|
||||
fun topLevel(arg: Int) {}
|
||||
fun topLevel(arg: Long) {}
|
||||
@@ -0,0 +1,4 @@
|
||||
package pkg.lib2
|
||||
|
||||
interface InterfaceClash
|
||||
class ClassClash
|
||||
@@ -0,0 +1,25 @@
|
||||
warning: name is mangled when generating Objective-C header
|
||||
(at class ClassClashWithObjCName defined in pkg.lib1)
|
||||
warning: name is mangled when generating Objective-C header
|
||||
(at enum entry one defined in pkg.lib1.E)
|
||||
warning: name is mangled when generating Objective-C header
|
||||
(at enum entry TWO defined in pkg.lib1.E)
|
||||
warning: name is mangled when generating Objective-C header
|
||||
(at fun values(): Array<E> defined in pkg.lib1.E)
|
||||
warning: name is mangled when generating Objective-C header
|
||||
(at val entries: EnumEntries<E> defined in pkg.lib1.E)
|
||||
warning: name is mangled when generating Objective-C header
|
||||
(at val prop: String defined in pkg.lib1.I2)
|
||||
warning: name is mangled when generating Objective-C header
|
||||
(at fun `<get-prop>`(): String defined in pkg.lib1.I2)
|
||||
warning: name is mangled when generating Objective-C header
|
||||
(at interface InterfaceClashWithObjCName defined in pkg.lib1)
|
||||
warning: name is mangled when generating Objective-C header
|
||||
(at class ClassClash defined in pkg.lib2)
|
||||
warning: name is mangled when generating Objective-C header
|
||||
(at interface InterfaceClash defined in pkg.lib2)
|
||||
warning: name "TOCEDLib1Kt" is mangled when generating Objective-C header
|
||||
warning: name "Lib1Kt" is mangled when generating Objective-C header
|
||||
warning: name is mangled when generating Objective-C header
|
||||
(at fun topLevel(arg: Long): Unit defined in pkg.lib1)
|
||||
OK
|
||||
Reference in New Issue
Block a user