[JS IR] Respect JsExport while assigning stable names

see https://youtrack.jetbrains.com/issue/KT-43404
This commit is contained in:
Shagen Ogandzhanian
2020-12-02 22:20:16 +01:00
parent 6b649d02d3
commit 8e5bcd349e
11 changed files with 152 additions and 16 deletions
+30
View File
@@ -0,0 +1,30 @@
// MODULE_KIND: COMMON_JS
// SKIP_MINIFICATION
// FILE: api.kt
package api
@JsExport
data class Point(val x: Int, val y: Int) {
override fun toString(): String = "[${x}::${y}]"
}
// we need his class to make sure that there's more than one ping method in existence - due to peculiarities of current namer otherwise test can pass but JsExport won't be actually respected
data class AltPoint(val x: Int, val y: Int)
// FILE: main.kt
external interface JsResult {
val res: String
}
@JsModule("lib")
external fun jsBox(): JsResult
fun box(): String {
val res = jsBox().res
if (res != "[13::11]") {
return "Fail1: ${res}"
}
return "OK"
}