[JS] Don't fail on recursive upper bounds while resolving JsExports
Fixes https://youtrack.jetbrains.com/issue/KT-42112
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
$kotlin_test_internal$.beginModule();
|
||||
|
||||
module.exports = function() {
|
||||
var ping = require("JS_TESTS").api.ping;
|
||||
var Something = require("JS_TESTS").api.Something;
|
||||
|
||||
return {
|
||||
"pingCall": function() {
|
||||
return ping(new Something())
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
$kotlin_test_internal$.endModule("lib");
|
||||
@@ -0,0 +1,28 @@
|
||||
// MODULE_KIND: COMMON_JS
|
||||
// SKIP_MINIFICATION
|
||||
|
||||
// FILE: api.kt
|
||||
package api
|
||||
@JsExport
|
||||
class Something<T: Something<T>> {
|
||||
fun ping(): String {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
@JsExport
|
||||
fun ping(s: Something<*>): String {
|
||||
return s.ping()
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
external interface JsResult {
|
||||
val pingCall: () -> String
|
||||
}
|
||||
|
||||
@JsModule("lib")
|
||||
external fun jsBox(): JsResult
|
||||
|
||||
fun box(): String {
|
||||
return jsBox().pingCall()
|
||||
}
|
||||
Reference in New Issue
Block a user