[klib] Add a test ensuring that signature clash detection works w/ MPP
This commit is contained in:
committed by
Space Team
parent
03aa14b473
commit
f84fa29fef
+16
@@ -0,0 +1,16 @@
|
|||||||
|
Module: common
|
||||||
|
/common.kt:7:1: error: Platform declaration clash: The following declarations have the same IR signature (/foo|foo(){}[0]):
|
||||||
|
fun foo(): kotlin.Int defined in root package
|
||||||
|
fun foo(): kotlin.String defined in root package
|
||||||
|
|
||||||
|
/common.kt:10:1: error: Platform declaration clash: The following declarations have the same IR signature (/bar|bar(B){}[0]):
|
||||||
|
fun bar(x: B): kotlin.Int defined in root package
|
||||||
|
fun bar(x: B): kotlin.Int defined in root package
|
||||||
|
Module: platform
|
||||||
|
/platform.kt:14:1: error: Platform declaration clash: The following declarations have the same IR signature (/foo|foo(){}[0]):
|
||||||
|
fun foo(): kotlin.Int defined in root package
|
||||||
|
fun foo(): kotlin.String defined in root package
|
||||||
|
|
||||||
|
/platform.kt:18:1: error: Platform declaration clash: The following declarations have the same IR signature (/bar|bar(B){}[0]):
|
||||||
|
fun bar(x: B): kotlin.Int defined in root package
|
||||||
|
fun bar(x: B): kotlin.Int defined in root package
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
// LANGUAGE: +MultiPlatformProjects
|
||||||
|
// FIR_IDENTICAL
|
||||||
|
// RENDER_ALL_DIAGNOSTICS_FULL_TEXT
|
||||||
|
|
||||||
|
// MODULE: common
|
||||||
|
// FILE: common.kt
|
||||||
|
<!CONFLICTING_KLIB_SIGNATURES_ERROR!>fun foo(): String = ""<!>
|
||||||
|
|
||||||
|
expect class A
|
||||||
|
<!CONFLICTING_KLIB_SIGNATURES_ERROR!>fun bar(x: A): Int = 2<!>
|
||||||
|
|
||||||
|
// MODULE: platform()()(common)
|
||||||
|
// FILE: platform.kt
|
||||||
|
<!CONFLICTING_KLIB_SIGNATURES_ERROR!>fun foo(): Int = 0<!>
|
||||||
|
|
||||||
|
class B
|
||||||
|
actual typealias A = B
|
||||||
|
<!CONFLICTING_KLIB_SIGNATURES_ERROR!>fun bar(x: B): Int = 3<!>
|
||||||
Generated
+6
@@ -30,4 +30,10 @@ public class FirPsiJsKlibDiagnosticsTestGenerated extends AbstractFirPsiJsDiagno
|
|||||||
public void testSignatureClash() throws Exception {
|
public void testSignatureClash() throws Exception {
|
||||||
runTest("compiler/testData/diagnostics/klibSerializationTests/signatureClash.kt");
|
runTest("compiler/testData/diagnostics/klibSerializationTests/signatureClash.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("signatureClash_MPP.kt")
|
||||||
|
public void testSignatureClash_MPP() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/klibSerializationTests/signatureClash_MPP.kt");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user