diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrBoxJsES6TestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrBoxJsES6TestGenerated.java index 5e4781bf9ac..aade6a34f26 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrBoxJsES6TestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrBoxJsES6TestGenerated.java @@ -7126,6 +7126,11 @@ public class IrBoxJsES6TestGenerated extends AbstractIrBoxJsES6Test { runTest("js/js.translator/testData/box/reflection/kClassToAndFromJsClass.kt"); } + @TestMetadata("kClassWithJsCall.kt") + public void testKClassWithJsCall() throws Exception { + runTest("js/js.translator/testData/box/reflection/kClassWithJsCall.kt"); + } + @TestMetadata("primitiveKClassOnReifiedType.kt") public void testPrimitiveKClassOnReifiedType() throws Exception { runTest("js/js.translator/testData/box/reflection/primitiveKClassOnReifiedType.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrBoxJsTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrBoxJsTestGenerated.java index e7168d4ce8e..692c37080ae 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrBoxJsTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrBoxJsTestGenerated.java @@ -7126,6 +7126,11 @@ public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest { runTest("js/js.translator/testData/box/reflection/kClassToAndFromJsClass.kt"); } + @TestMetadata("kClassWithJsCall.kt") + public void testKClassWithJsCall() throws Exception { + runTest("js/js.translator/testData/box/reflection/kClassWithJsCall.kt"); + } + @TestMetadata("primitiveKClassOnReifiedType.kt") public void testPrimitiveKClassOnReifiedType() throws Exception { runTest("js/js.translator/testData/box/reflection/primitiveKClassOnReifiedType.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java index 6366fc5de1b..7ad9389b0c2 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java @@ -7151,6 +7151,11 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest { runTest("js/js.translator/testData/box/reflection/kClassToAndFromJsClass.kt"); } + @TestMetadata("kClassWithJsCall.kt") + public void testKClassWithJsCall() throws Exception { + runTest("js/js.translator/testData/box/reflection/kClassWithJsCall.kt"); + } + @TestMetadata("primitiveKClassOnReifiedType.kt") public void testPrimitiveKClassOnReifiedType() throws Exception { runTest("js/js.translator/testData/box/reflection/primitiveKClassOnReifiedType.kt"); diff --git a/js/js.translator/testData/box/reflection/kClassWithJsCall.kt b/js/js.translator/testData/box/reflection/kClassWithJsCall.kt new file mode 100644 index 00000000000..51c2a16b234 --- /dev/null +++ b/js/js.translator/testData/box/reflection/kClassWithJsCall.kt @@ -0,0 +1,41 @@ +import kotlin.reflect.KClass + +// MODULE: main +// FILE: main.kt +external abstract open class A( + o: String +) { + abstract val k: String + + fun test(): String +} + +class B( + o: String +) : A(o) { + override val k = "K" +} + +external fun test( + klazz: Any +) : B + +fun toJsClass(klazz: KClass) = klazz.js + +fun box(): String { + return test(toJsClass(B::class)).test() +} + +// FILE: test.js + +function test(classType) { + return new classType("O") +} + +function A(o) { + this.o = o +} + +A.prototype.test = function() { + return this.o + this.k +} \ No newline at end of file