diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6BoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6BoxTestGenerated.java index 9804efcf26d..d5841fcd82a 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6BoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6BoxTestGenerated.java @@ -2623,6 +2623,12 @@ public class FirJsES6BoxTestGenerated extends AbstractFirJsES6BoxTest { runTest("js/js.translator/testData/box/esModules/jsExport/perFileExportedApi.kt"); } + @Test + @TestMetadata("privateInnerClass.kt") + public void testPrivateInnerClass() { + runTest("js/js.translator/testData/box/esModules/jsExport/privateInnerClass.kt"); + } + @Test @TestMetadata("recursiveExport.kt") public void testRecursiveExport() { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirLightTreeJsBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirLightTreeJsBoxTestGenerated.java index f0d3d34ca61..836da61f24a 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirLightTreeJsBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirLightTreeJsBoxTestGenerated.java @@ -2517,6 +2517,12 @@ public class FirLightTreeJsBoxTestGenerated extends AbstractFirLightTreeJsBoxTes runTest("js/js.translator/testData/box/esModules/jsExport/perFileExportedApi.kt"); } + @Test + @TestMetadata("privateInnerClass.kt") + public void testPrivateInnerClass() { + runTest("js/js.translator/testData/box/esModules/jsExport/privateInnerClass.kt"); + } + @Test @TestMetadata("recursiveExport.kt") public void testRecursiveExport() { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirPsiJsBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirPsiJsBoxTestGenerated.java index 75c3de0d541..2b3168af5ca 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirPsiJsBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirPsiJsBoxTestGenerated.java @@ -2517,6 +2517,12 @@ public class FirPsiJsBoxTestGenerated extends AbstractFirPsiJsBoxTest { runTest("js/js.translator/testData/box/esModules/jsExport/perFileExportedApi.kt"); } + @Test + @TestMetadata("privateInnerClass.kt") + public void testPrivateInnerClass() { + runTest("js/js.translator/testData/box/esModules/jsExport/privateInnerClass.kt"); + } + @Test @TestMetadata("recursiveExport.kt") public void testRecursiveExport() { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrBoxJsES6TestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrBoxJsES6TestGenerated.java index 68765e024de..2993165a776 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrBoxJsES6TestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrBoxJsES6TestGenerated.java @@ -2623,6 +2623,12 @@ public class IrBoxJsES6TestGenerated extends AbstractIrBoxJsES6Test { runTest("js/js.translator/testData/box/esModules/jsExport/perFileExportedApi.kt"); } + @Test + @TestMetadata("privateInnerClass.kt") + public void testPrivateInnerClass() { + runTest("js/js.translator/testData/box/esModules/jsExport/privateInnerClass.kt"); + } + @Test @TestMetadata("recursiveExport.kt") public void testRecursiveExport() { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrBoxJsTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrBoxJsTestGenerated.java index c60a540b3f4..25c2498498c 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrBoxJsTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrBoxJsTestGenerated.java @@ -2517,6 +2517,12 @@ public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest { runTest("js/js.translator/testData/box/esModules/jsExport/perFileExportedApi.kt"); } + @Test + @TestMetadata("privateInnerClass.kt") + public void testPrivateInnerClass() { + runTest("js/js.translator/testData/box/esModules/jsExport/privateInnerClass.kt"); + } + @Test @TestMetadata("recursiveExport.kt") public void testRecursiveExport() { diff --git a/js/js.translator/testData/box/esModules/jsExport/privateInnerClass.kt b/js/js.translator/testData/box/esModules/jsExport/privateInnerClass.kt new file mode 100644 index 00000000000..f20be481fa0 --- /dev/null +++ b/js/js.translator/testData/box/esModules/jsExport/privateInnerClass.kt @@ -0,0 +1,33 @@ +// KT-65657 +// DONT_TARGET_EXACT_BACKEND: JS +// SKIP_MINIFICATION +// ES_MODULES + +// FILE: main.kt +@JsExport +open class TableDriver { + + private inner class Table + + fun foo() = "OK" +} +external interface JsResult { + val value: String + val inner: Any? +} + +@JsModule("./privateInnerClass.mjs") +external fun jsBox(): JsResult + +fun box(): String { + val res = jsBox() + + if (res.value != "OK") { + return "Fail: value is ${res.value}" + } + if (res.inner != null) { + return "Fail: inner is ${res.inner}" + } + + return "OK" +} diff --git a/js/js.translator/testData/box/esModules/jsExport/privateInnerClass.mjs b/js/js.translator/testData/box/esModules/jsExport/privateInnerClass.mjs new file mode 100644 index 00000000000..48e1ebb621b --- /dev/null +++ b/js/js.translator/testData/box/esModules/jsExport/privateInnerClass.mjs @@ -0,0 +1,10 @@ +import { TableDriver } from "./privateInnerClass_v5.mjs" + +export default function box() { + var tableDriver = new TableDriver(); + + return { + value: tableDriver.foo(), + inner: tableDriver.Table + }; +}; \ No newline at end of file