KT-12877: support plain reference to declaration in UMD wrapper, support plain reference to package
This commit is contained in:
committed by
Alexey Andreev
parent
495c876b3b
commit
d63a727474
@@ -1,3 +1,6 @@
|
||||
function lib(y) {
|
||||
function foo(y) {
|
||||
return 23 + y;
|
||||
}
|
||||
function baz(y) {
|
||||
return 42 + y;
|
||||
}
|
||||
@@ -2,11 +2,17 @@
|
||||
// NO_JS_MODULE_SYSTEM
|
||||
package foo
|
||||
|
||||
@JsModule("lib")
|
||||
@JsModule("libfoo")
|
||||
@JsNonModule
|
||||
@native fun foo(x: Int): Int = noImpl
|
||||
|
||||
@JsModule("libbar")
|
||||
@JsNonModule
|
||||
@JsName("baz")
|
||||
@native fun bar(x: Int): Int = noImpl
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(65, foo(42))
|
||||
assertEquals(142, bar(100))
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
var lib = function() {
|
||||
function A(x) {
|
||||
this.x = x;
|
||||
}
|
||||
A.prototype.foo = function (y) {
|
||||
return this.x + y;
|
||||
};
|
||||
|
||||
B = {
|
||||
x: 123,
|
||||
foo: function(y) {
|
||||
return this.x + y;
|
||||
}
|
||||
};
|
||||
|
||||
function foo(y) {
|
||||
return 323 + y;
|
||||
}
|
||||
|
||||
var bar = 423;
|
||||
|
||||
return {
|
||||
A: A,
|
||||
B: B,
|
||||
foo: foo,
|
||||
bar: bar,
|
||||
mbar: -1
|
||||
};
|
||||
}();
|
||||
@@ -0,0 +1,36 @@
|
||||
@file:JsModule("lib")
|
||||
@file:JsNonModule
|
||||
package foo
|
||||
|
||||
@native class A(@native val x: Int = noImpl) {
|
||||
@native fun foo(y: Int): Int = noImpl
|
||||
}
|
||||
|
||||
@native object B {
|
||||
@native val x: Int = noImpl
|
||||
|
||||
@native fun foo(y: Int): Int = noImpl
|
||||
}
|
||||
|
||||
@native fun foo(y: Int): Int = noImpl
|
||||
|
||||
@native val bar: Int = noImpl
|
||||
|
||||
@native var mbar: Int = noImpl
|
||||
|
||||
fun box(): String {
|
||||
val a = A(23)
|
||||
assertEquals(23, a.x)
|
||||
assertEquals(65, a.foo(42))
|
||||
|
||||
assertEquals(123, B.x)
|
||||
assertEquals(265, B.foo(142))
|
||||
|
||||
assertEquals(365, foo(42))
|
||||
assertEquals(423, bar)
|
||||
|
||||
mbar = 523
|
||||
assertEquals(523, mbar)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
var lib = function() {
|
||||
function A(x) {
|
||||
this.x = x;
|
||||
}
|
||||
A.prototype.foo = function (y) {
|
||||
return this.x + y;
|
||||
};
|
||||
|
||||
B = {
|
||||
x: 123,
|
||||
foo: function(y) {
|
||||
return this.x + y;
|
||||
}
|
||||
};
|
||||
|
||||
function foo(y) {
|
||||
return 323 + y;
|
||||
}
|
||||
|
||||
var bar = 423;
|
||||
|
||||
return {
|
||||
A: A,
|
||||
B: B,
|
||||
foo: foo,
|
||||
bar: bar,
|
||||
mbar: -1
|
||||
};
|
||||
}();
|
||||
@@ -0,0 +1,38 @@
|
||||
// MODULE_KIND: UMD
|
||||
// NO_JS_MODULE_SYSTEM
|
||||
@file:JsModule("lib")
|
||||
@file:JsNonModule
|
||||
package foo
|
||||
|
||||
@native class A(@native val x: Int = noImpl) {
|
||||
@native fun foo(y: Int): Int = noImpl
|
||||
}
|
||||
|
||||
@native object B {
|
||||
@native val x: Int = noImpl
|
||||
|
||||
@native fun foo(y: Int): Int = noImpl
|
||||
}
|
||||
|
||||
@native fun foo(y: Int): Int = noImpl
|
||||
|
||||
@native val bar: Int = noImpl
|
||||
|
||||
@native var mbar: Int = noImpl
|
||||
|
||||
fun box(): String {
|
||||
val a = A(23)
|
||||
assertEquals(23, a.x)
|
||||
assertEquals(65, a.foo(42))
|
||||
|
||||
assertEquals(123, B.x)
|
||||
assertEquals(265, B.foo(142))
|
||||
|
||||
assertEquals(365, foo(42))
|
||||
assertEquals(423, bar)
|
||||
|
||||
mbar = 523
|
||||
assertEquals(523, mbar)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user