From 66ea544a48a294712730ccc96c40164fd9a3db49 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Mon, 19 Oct 2015 14:39:54 +0300 Subject: [PATCH] Fixed incorrect handling of this and super expressions in copy/paste processing and optimize imports --- .../KotlinCopyPasteReferenceProcessor.kt | 6 +++--- .../idea/imports/KotlinImportOptimizer.kt | 1 + .../ThisAndSuper.dependency.kt | 3 +++ .../editor/optimizeImports/ThisAndSuper.kt | 19 +++++++++++++++++++ .../optimizeImports/ThisAndSuper.kt.after | 17 +++++++++++++++++ .../imports/OptimizeImportsTestGenerated.java | 6 ++++++ 6 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 idea/testData/editor/optimizeImports/ThisAndSuper.dependency.kt create mode 100644 idea/testData/editor/optimizeImports/ThisAndSuper.kt create mode 100644 idea/testData/editor/optimizeImports/ThisAndSuper.kt.after diff --git a/idea/src/org/jetbrains/kotlin/idea/codeInsight/KotlinCopyPasteReferenceProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/codeInsight/KotlinCopyPasteReferenceProcessor.kt index bdb7199a4b5..a26ac078add 100644 --- a/idea/src/org/jetbrains/kotlin/idea/codeInsight/KotlinCopyPasteReferenceProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/codeInsight/KotlinCopyPasteReferenceProcessor.kt @@ -46,6 +46,7 @@ import org.jetbrains.kotlin.idea.references.JetMultiReference import org.jetbrains.kotlin.idea.references.JetReference import org.jetbrains.kotlin.idea.references.JetSimpleNameReference import org.jetbrains.kotlin.idea.references.mainReference +import org.jetbrains.kotlin.idea.util.CallTypeAndReceiver import org.jetbrains.kotlin.idea.util.ImportInsertHelper import org.jetbrains.kotlin.idea.util.application.runWriteAction import org.jetbrains.kotlin.incremental.components.NoLookupLocation @@ -53,7 +54,6 @@ import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.elementsInRange import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType -import org.jetbrains.kotlin.psi.psiUtil.getReceiverExpression import org.jetbrains.kotlin.psi.psiUtil.parentsWithSelf import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.descriptorUtil.isExtension @@ -156,8 +156,8 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor