6900e20096
If we encounter a declaration in the current module whose signature
is the same as that of a declaration in another module which we happen
to also reference from the current module, don't report any errors,
just like we don't do it in Kotlin/JVM. This leaves the user in the KLIB
hell situation, but this is intentional, because otherwise a legitimate
change like moving a declaration to another module and marking
the original one as `@Deprecated("", level = DeprecationLevel.HIDDEN)`
would lead to a error, and we don't want that.
Also, don't try to show the diagnostics on a declaration that doesn't
have an IrFile.
^KT-65063 Fixed
15 lines
1.2 KiB
Plaintext
Vendored
15 lines
1.2 KiB
Plaintext
Vendored
/foo.kt:13:1: error: Platform declaration clash: The following declarations have the same KLIB signature (com.example.klib.serialization.diagnostics/foo|foo(){}[0]):
|
|
fun foo(): kotlin.Long defined in com.example.klib.serialization.diagnostics
|
|
fun foo(): kotlin.String defined in com.example.klib.serialization.diagnostics
|
|
fun foo(): kotlin.Int defined in com.example.klib.serialization.diagnostics
|
|
|
|
/main.kt:19:1: error: Platform declaration clash: The following declarations have the same KLIB signature (com.example.klib.serialization.diagnostics/foo|foo(){}[0]):
|
|
fun foo(): kotlin.Long defined in com.example.klib.serialization.diagnostics
|
|
fun foo(): kotlin.String defined in com.example.klib.serialization.diagnostics
|
|
fun foo(): kotlin.Int defined in com.example.klib.serialization.diagnostics
|
|
|
|
/main.kt:22:1: error: Platform declaration clash: The following declarations have the same KLIB signature (com.example.klib.serialization.diagnostics/foo|foo(){}[0]):
|
|
fun foo(): kotlin.Long defined in com.example.klib.serialization.diagnostics
|
|
fun foo(): kotlin.String defined in com.example.klib.serialization.diagnostics
|
|
fun foo(): kotlin.Int defined in com.example.klib.serialization.diagnostics
|