J2K: Idea doesn't proposed to insert imports on copy-paste if explicit import was inserted

#KT-8738 Fixed
This commit is contained in:
Natalia Ukhorskaya
2015-08-06 10:45:21 +03:00
parent 2226ace683
commit 03097d3453
5 changed files with 26 additions and 2 deletions
@@ -97,14 +97,14 @@ public class ConvertJavaCopyPastePostProcessor : CopyPastePostProcessor<TextBloc
rangeMarker.setGreedyToLeft(true)
rangeMarker.setGreedyToRight(true)
KotlinCopyPasteReferenceProcessor().processReferenceData(project, targetFile, bounds.start, referenceData.toTypedArray())
explicitImports.forEach { fqName ->
targetFile.resolveImportReference(fqName).firstOrNull()?.let {
ImportInsertHelper.getInstance(project).importDescriptor(targetFile, it)
}
}
KotlinCopyPasteReferenceProcessor().processReferenceData(project, targetFile, bounds.start, referenceData.toTypedArray())
return rangeMarker.range
}
@@ -0,0 +1,11 @@
import java.io.File
class C {
private fun memberFun(file: File) {
}
companion object {
jvmStatic public fun main(args: Array<String>) {
}
}
}
@@ -0,0 +1,6 @@
import java.io.File;
<selection>class C {
public static void main(String[] args) { }
private void memberFun(File file) {}
}</selection>
@@ -0,0 +1 @@
<caret>
@@ -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");