From 8f6bd1f985a05c71ef00b18c7fae5d7c9da726dc Mon Sep 17 00:00:00 2001 From: Roman Golyshev Date: Wed, 30 Oct 2024 10:30:56 +0100 Subject: [PATCH] KTIJ-31786 [kotlin] Reproduce issue with importing `.get` in K2 Mode (cherry picked from commit 7effb57b88fab8f06dba73855b69b4c5b898e74c) IJ-CR-149236 GitOrigin-RevId: 1f1904d654983519d9443719133a526ed2d5e0af --- .../fir/imports/K2JsOptimizeImportsTestGenerated.java | 5 +++++ .../idea/imports/JsOptimizeImportsTestGenerated.java | 5 +++++ .../optimizeImports/js/DynamicMembersNotImported.kt | 8 ++++++++ .../optimizeImports/js/DynamicMembersNotImported.kt.after | 6 ++++++ 4 files changed, 24 insertions(+) create mode 100644 plugins/kotlin/idea/tests/testData/editor/optimizeImports/js/DynamicMembersNotImported.kt create mode 100644 plugins/kotlin/idea/tests/testData/editor/optimizeImports/js/DynamicMembersNotImported.kt.after diff --git a/plugins/kotlin/fir/tests/test/org/jetbrains/kotlin/idea/fir/imports/K2JsOptimizeImportsTestGenerated.java b/plugins/kotlin/fir/tests/test/org/jetbrains/kotlin/idea/fir/imports/K2JsOptimizeImportsTestGenerated.java index 684d007618d6..dbbd821b748c 100644 --- a/plugins/kotlin/fir/tests/test/org/jetbrains/kotlin/idea/fir/imports/K2JsOptimizeImportsTestGenerated.java +++ b/plugins/kotlin/fir/tests/test/org/jetbrains/kotlin/idea/fir/imports/K2JsOptimizeImportsTestGenerated.java @@ -36,6 +36,11 @@ public abstract class K2JsOptimizeImportsTestGenerated extends AbstractK2JsOptim public void testDefaultJsImports() throws Exception { runTest("../../idea/tests/testData/editor/optimizeImports/js/DefaultJsImports.kt"); } + + @TestMetadata("DynamicMembersNotImported.kt") + public void testDynamicMembersNotImported() throws Exception { + runTest("../../idea/tests/testData/editor/optimizeImports/js/DynamicMembersNotImported.kt"); + } } @RunWith(JUnit3RunnerWithInners.class) diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/imports/JsOptimizeImportsTestGenerated.java b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/imports/JsOptimizeImportsTestGenerated.java index ba934c2880f6..ec6c90acbebe 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/imports/JsOptimizeImportsTestGenerated.java +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/imports/JsOptimizeImportsTestGenerated.java @@ -36,6 +36,11 @@ public abstract class JsOptimizeImportsTestGenerated extends AbstractJsOptimizeI public void testDefaultJsImports() throws Exception { runTest("testData/editor/optimizeImports/js/DefaultJsImports.kt"); } + + @TestMetadata("DynamicMembersNotImported.kt") + public void testDynamicMembersNotImported() throws Exception { + runTest("testData/editor/optimizeImports/js/DynamicMembersNotImported.kt"); + } } @RunWith(JUnit3RunnerWithInners.class) diff --git a/plugins/kotlin/idea/tests/testData/editor/optimizeImports/js/DynamicMembersNotImported.kt b/plugins/kotlin/idea/tests/testData/editor/optimizeImports/js/DynamicMembersNotImported.kt new file mode 100644 index 000000000000..2171099583e8 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/editor/optimizeImports/js/DynamicMembersNotImported.kt @@ -0,0 +1,8 @@ +// IGNORE_K2 +package test + +import kotlin.js.JSON // unused + +fun getValue(data: dynamic): dynamic { + return data["value"] +} \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/editor/optimizeImports/js/DynamicMembersNotImported.kt.after b/plugins/kotlin/idea/tests/testData/editor/optimizeImports/js/DynamicMembersNotImported.kt.after new file mode 100644 index 000000000000..e402c006eea3 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/editor/optimizeImports/js/DynamicMembersNotImported.kt.after @@ -0,0 +1,6 @@ +// IGNORE_K2 +package test + +fun getValue(data: dynamic): dynamic { + return data["value"] +}