JS: add support of JsQualifier annotation. See KT-15905
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
var pkg = function() {
|
||||
function C() {
|
||||
}
|
||||
C.prototype.o = function() {
|
||||
return "O";
|
||||
};
|
||||
function D() {
|
||||
}
|
||||
D.prototype.k = function() {
|
||||
return "K";
|
||||
};
|
||||
C.D = D;
|
||||
return {
|
||||
C: C
|
||||
};
|
||||
}();
|
||||
@@ -0,0 +1,15 @@
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
@file:JsQualifier("pkg")
|
||||
external class C {
|
||||
fun o(): String
|
||||
|
||||
class D {
|
||||
fun k(): String
|
||||
}
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: main.kt
|
||||
|
||||
fun box() = C().o() + C.D().k()
|
||||
@@ -0,0 +1,8 @@
|
||||
var a = {
|
||||
b: {
|
||||
c: function() {
|
||||
return "O";
|
||||
},
|
||||
d: "K"
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,15 @@
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
@file:JsQualifier("a.b")
|
||||
package ab
|
||||
|
||||
external fun c(): String
|
||||
|
||||
external val d: String
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: main.kt
|
||||
|
||||
package main
|
||||
|
||||
fun box() = ab.c() + ab.d
|
||||
@@ -0,0 +1,5 @@
|
||||
var foo = {
|
||||
bar: function() {
|
||||
return "OK";
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,13 @@
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
// MODULE_KIND: UMD
|
||||
// NO_JS_MODULE_SYSTEM
|
||||
@file:JsQualifier("foo")
|
||||
|
||||
external fun bar(): String
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: main.kt
|
||||
// MODULE_KIND: UMD
|
||||
// NO_JS_MODULE_SYSTEM
|
||||
fun box() = bar()
|
||||
@@ -0,0 +1,9 @@
|
||||
define("libjs", ["exports"], function(exports) {
|
||||
exports.a = {
|
||||
b: {
|
||||
c: function () {
|
||||
return "OK";
|
||||
}
|
||||
}
|
||||
};
|
||||
});
|
||||
@@ -0,0 +1,15 @@
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
// MODULE_KIND: AMD
|
||||
@file:JsQualifier("a.b")
|
||||
@file:JsModule("libjs")
|
||||
package ab
|
||||
|
||||
external fun c(): String
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: main.kt
|
||||
// MODULE_KIND: AMD
|
||||
package main
|
||||
|
||||
fun box() = ab.c()
|
||||
Reference in New Issue
Block a user