rra/ilgonmic/duplicated-import-names

[JS IR] Add tests with external funs and global vals

[JS IR] Non module cases are exceptions for naming

[JS IR] Use fqn for jsModule on declaration

[JS IR] Add test on same external names

Merge-request: KT-MR-5901
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>

^KT-51438 fixed
This commit is contained in:
Ilya Goncharov
2022-03-14 14:04:27 +00:00
committed by Space
parent a471ddf059
commit 0463b5ec3c
6 changed files with 123 additions and 968 deletions
@@ -0,0 +1,54 @@
// MODULE_KIND: COMMON_JS
// FILE: a.kt
package foo
@JsModule("foo1")
external class A(x: Int) {
val x: Int
}
@JsModule("foo2")
external fun func(): String
@JsModule("foo3")
external val globalVal: String
// FILE: b.kt
package bar
@JsModule("bar1")
external class A(x: Int) {
val x: Int
}
@JsModule("bar2")
external fun func(): String
@JsModule("bar3")
external val globalVal: String
// FILE: main.kt
import foo.A
import bar.A as B
import foo.func as func1
import bar.func as func2
import foo.globalVal as globalVal1
import bar.globalVal as globalVal2
fun box(): String {
val a = A(37)
val b = B(73)
assertEquals(37, a.x)
assertEquals(73, b.x)
val func1 = func1()
val func2 = func2()
assertEquals(38, func1)
assertEquals(83, func2)
assertEquals(39, globalVal1)
assertEquals(93, globalVal2)
return "OK"
}