[Wasm] Support JsModule and JsQualifier
This commit is contained in:
committed by
Space Team
parent
75d3ae4466
commit
d14d4c8510
@@ -0,0 +1,102 @@
|
||||
// ES_MODULES
|
||||
// FILE: jsModuleWithQualifier.mjs
|
||||
let a = {
|
||||
b: {
|
||||
c: {
|
||||
d: {
|
||||
x: 10,
|
||||
f() { return 10; },
|
||||
C: class C {
|
||||
constructor(x) {
|
||||
this.x = x;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export { a };
|
||||
|
||||
// FILE: lib1.kt
|
||||
@file:JsQualifier("a.b.c.d")
|
||||
@file:JsModule("./jsModuleWithQualifier.mjs")
|
||||
|
||||
package abcd
|
||||
|
||||
external var x: Int
|
||||
external fun f(): Int
|
||||
external class C {
|
||||
constructor(x: String)
|
||||
val x: String
|
||||
}
|
||||
|
||||
@JsName("x")
|
||||
external var x2: Int
|
||||
|
||||
@JsName("f")
|
||||
external fun f2(): Int
|
||||
|
||||
@JsName("C")
|
||||
external class C2 {
|
||||
constructor(x: String)
|
||||
@JsName("x")
|
||||
val x2: String
|
||||
}
|
||||
|
||||
// FILE: lib2.kt
|
||||
@file:JsQualifier("a")
|
||||
@file:JsModule("./jsModuleWithQualifier.mjs")
|
||||
package a
|
||||
|
||||
external object b {
|
||||
class c {
|
||||
companion object {
|
||||
@JsName("d")
|
||||
object d2 {
|
||||
var x: Int
|
||||
fun f(): Int
|
||||
class C {
|
||||
constructor(x: String)
|
||||
val x: String
|
||||
}
|
||||
|
||||
@JsName("x")
|
||||
var x2: Int
|
||||
|
||||
@JsName("f")
|
||||
fun f2(): Int
|
||||
|
||||
@JsName("C")
|
||||
class C2 {
|
||||
constructor(x: String)
|
||||
@JsName("x")
|
||||
val x2: String
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// FILE: main.kt
|
||||
fun box(): String {
|
||||
if (abcd.x != 10) return "Fail1"
|
||||
if (abcd.f() != 10) return "Fail2"
|
||||
if (abcd.C("10").x != "10") return "Fail3"
|
||||
|
||||
if (abcd.x2 != 10) return "Fail4"
|
||||
if (abcd.f2() != 10) return "Fail5"
|
||||
if (abcd.C2("10").x2 != "10") return "Fail6"
|
||||
|
||||
if (a.b.c.Companion.d2.x != 10) return "Fail7"
|
||||
if (a.b.c.Companion.d2.f() != 10) return "Fail8"
|
||||
if (a.b.c.Companion.d2.C("10").x != "10") return "Fail9"
|
||||
|
||||
if (a.b.c.Companion.d2.x2 != 10) return "Fail10"
|
||||
if (a.b.c.Companion.d2.f2() != 10) return "Fail11"
|
||||
if (a.b.c.Companion.d2.C2("10").x2 != "10") return "Fail12"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user