From 03097d345391a64af8ff33f84a45d3af3abd41b4 Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Thu, 6 Aug 2015 10:45:21 +0300 Subject: [PATCH] J2K: Idea doesn't proposed to insert imports on copy-paste if explicit import was inserted #KT-8738 Fixed --- .../copy/ConvertJavaCopyPastePostProcessor.kt | 4 ++-- .../AddImportsWithExplicitImports.expected.kt | 11 +++++++++++ .../conversion/AddImportsWithExplicitImports.java | 6 ++++++ .../conversion/AddImportsWithExplicitImports.to.kt | 1 + .../JavaToKotlinCopyPasteConversionTestGenerated.java | 6 ++++++ 5 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.expected.kt create mode 100644 idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.java create mode 100644 idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.to.kt diff --git a/idea/src/org/jetbrains/kotlin/idea/conversion/copy/ConvertJavaCopyPastePostProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/conversion/copy/ConvertJavaCopyPastePostProcessor.kt index 256300951ad..9d134cffa77 100644 --- a/idea/src/org/jetbrains/kotlin/idea/conversion/copy/ConvertJavaCopyPastePostProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/conversion/copy/ConvertJavaCopyPastePostProcessor.kt @@ -97,14 +97,14 @@ public class ConvertJavaCopyPastePostProcessor : CopyPastePostProcessor targetFile.resolveImportReference(fqName).firstOrNull()?.let { ImportInsertHelper.getInstance(project).importDescriptor(targetFile, it) } } - KotlinCopyPasteReferenceProcessor().processReferenceData(project, targetFile, bounds.start, referenceData.toTypedArray()) - return rangeMarker.range } diff --git a/idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.expected.kt b/idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.expected.kt new file mode 100644 index 00000000000..1dd2516d636 --- /dev/null +++ b/idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.expected.kt @@ -0,0 +1,11 @@ +import java.io.File + +class C { + private fun memberFun(file: File) { + } + + companion object { + jvmStatic public fun main(args: Array) { + } + } +} \ No newline at end of file diff --git a/idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.java b/idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.java new file mode 100644 index 00000000000..6e9c390be4c --- /dev/null +++ b/idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.java @@ -0,0 +1,6 @@ +import java.io.File; + +class C { + public static void main(String[] args) { } + private void memberFun(File file) {} +} \ No newline at end of file diff --git a/idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.to.kt b/idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.to.kt new file mode 100644 index 00000000000..81389d50841 --- /dev/null +++ b/idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.to.kt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/conversion/copy/JavaToKotlinCopyPasteConversionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/conversion/copy/JavaToKotlinCopyPasteConversionTestGenerated.java index f8eba631f9a..a27bf3787c6 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/conversion/copy/JavaToKotlinCopyPasteConversionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/conversion/copy/JavaToKotlinCopyPasteConversionTestGenerated.java @@ -61,6 +61,12 @@ public class JavaToKotlinCopyPasteConversionTestGenerated extends AbstractJavaTo doTest(fileName); } + @TestMetadata("AddImportsWithExplicitImports.java") + public void testAddImportsWithExplicitImports() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/copyPaste/conversion/AddImportsWithExplicitImports.java"); + doTest(fileName); + } + @TestMetadata("AddKClassImport.java") public void testAddKClassImport() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/copyPaste/conversion/AddKClassImport.java");