45 lines
770 B
Kotlin
Vendored
45 lines
770 B
Kotlin
Vendored
// DONT_TARGET_EXACT_BACKEND: JS
|
|
// ES_MODULES
|
|
// FILE: a.kt
|
|
@file:JsModule("./externalPackage.mjs")
|
|
package foo
|
|
|
|
external class A(x: Int) {
|
|
val x: Int
|
|
|
|
fun foo(y: Int): Int = definedExternally
|
|
|
|
class Nested {
|
|
val y: Int
|
|
}
|
|
}
|
|
|
|
external object B {
|
|
val x: Int = definedExternally
|
|
|
|
fun foo(y: Int): Int = definedExternally
|
|
}
|
|
|
|
external fun foo(y: Int): Int = definedExternally
|
|
|
|
external val bar: Int = definedExternally
|
|
|
|
// FILE: b.kt
|
|
package foo
|
|
|
|
fun box(): String {
|
|
val a = A(23)
|
|
assertEquals(23, a.x)
|
|
assertEquals(65, a.foo(42))
|
|
|
|
val nested = A.Nested()
|
|
assertEquals(55, nested.y)
|
|
|
|
assertEquals(123, B.x)
|
|
assertEquals(265, B.foo(142))
|
|
|
|
assertEquals(365, foo(42))
|
|
assertEquals(423, bar)
|
|
|
|
return "OK"
|
|
} |