One more usage switched to use of new import insertion method

This commit is contained in:
Valentin Kipyatkov
2015-02-10 18:29:24 +03:00
parent 2d4b1d9219
commit 2d6ed5dd42
2 changed files with 12 additions and 12 deletions
@@ -28,8 +28,13 @@ public fun ClassDescriptor.getClassObjectReferenceTarget(): ClassDescriptor {
public fun ClassDescriptor.hasSyntheticClassObject(): Boolean = getKind() in setOf(ENUM_ENTRY, OBJECT)
public fun DeclarationDescriptor.getImportableDescriptor(): DeclarationDescriptor =
if (this is ConstructorDescriptor || DescriptorUtils.isClassObject(this)) getContainingDeclaration()!! else this
public fun DeclarationDescriptor.getImportableDescriptor(): DeclarationDescriptor {
return when {
this is ConstructorDescriptor, DescriptorUtils.isClassObject(this) -> getContainingDeclaration()!!
this is PropertyAccessorDescriptor -> getCorrespondingProperty()
else -> this
}
}
public val DeclarationDescriptor.isExtension: Boolean
get() = this is CallableDescriptor && getExtensionReceiverParameter() != null
@@ -17,16 +17,12 @@
package org.jetbrains.kotlin.idea.refactoring.move
import org.jetbrains.kotlin.idea.codeInsight.JetFileReferencesResolver
import org.jetbrains.kotlin.psi.JetSimpleNameExpression
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
import org.jetbrains.kotlin.idea.references.JetSimpleNameReference
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.JetFile
import org.jetbrains.kotlin.psi.JetElement
import org.jetbrains.kotlin.idea.JetFileType
import org.jetbrains.kotlin.psi.JetNamedDeclaration
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToDeclarationUtil
import org.jetbrains.kotlin.psi.psiUtil.isAncestor
import java.util.Collections
@@ -40,14 +36,10 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.PsiReference
import com.intellij.refactoring.util.MoveRenameUsageInfo
import org.jetbrains.kotlin.idea.references.JetReference
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
import org.jetbrains.kotlin.psi.JetImportDirective
import java.util.ArrayList
import com.intellij.refactoring.util.NonCodeUsageInfo
import org.jetbrains.kotlin.idea.util.ImportInsertHelper
import org.jetbrains.kotlin.idea.refactoring.fqName.getKotlinFqName
import org.jetbrains.kotlin.psi.JetThisExpression
import org.jetbrains.kotlin.idea.references.JetSimpleNameReference.ShorteningMode
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.openapi.util.Comparing
@@ -60,6 +52,9 @@ import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind
import org.jetbrains.kotlin.psi.psiUtil.getQualifiedElementSelector
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.idea.caches.resolve.*
import org.jetbrains.kotlin.asJava.*
public class PackageNameInfo(val oldPackageName: FqName, val newPackageName: FqName)
@@ -210,9 +205,9 @@ fun postProcessMoveUsages(usages: List<UsageInfo>,
}
is MoveRenameUsageInfoForExtension -> {
val element = counterpart(usage.getReferencedElement()!!)
val file = with(usage) { if (addImportToOriginalFile) originalFile else counterpart(originalFile) } as JetFile
ImportInsertHelper.getInstance(element.getProject()).addImportDirectiveIfNeeded(element.getKotlinFqName()!!, file)
val declaration = counterpart(usage.getReferencedElement()!!).unwrapped as JetDeclaration
ImportInsertHelper.getInstance(usage.getProject()).importDescriptor(file, declaration.resolveToDescriptor())
}
is MoveRenameUsageInfo -> {