One more usage switched to use of new import insertion method
This commit is contained in:
@@ -28,8 +28,13 @@ public fun ClassDescriptor.getClassObjectReferenceTarget(): ClassDescriptor {
|
|||||||
|
|
||||||
public fun ClassDescriptor.hasSyntheticClassObject(): Boolean = getKind() in setOf(ENUM_ENTRY, OBJECT)
|
public fun ClassDescriptor.hasSyntheticClassObject(): Boolean = getKind() in setOf(ENUM_ENTRY, OBJECT)
|
||||||
|
|
||||||
public fun DeclarationDescriptor.getImportableDescriptor(): DeclarationDescriptor =
|
public fun DeclarationDescriptor.getImportableDescriptor(): DeclarationDescriptor {
|
||||||
if (this is ConstructorDescriptor || DescriptorUtils.isClassObject(this)) getContainingDeclaration()!! else this
|
return when {
|
||||||
|
this is ConstructorDescriptor, DescriptorUtils.isClassObject(this) -> getContainingDeclaration()!!
|
||||||
|
this is PropertyAccessorDescriptor -> getCorrespondingProperty()
|
||||||
|
else -> this
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public val DeclarationDescriptor.isExtension: Boolean
|
public val DeclarationDescriptor.isExtension: Boolean
|
||||||
get() = this is CallableDescriptor && getExtensionReceiverParameter() != null
|
get() = this is CallableDescriptor && getExtensionReceiverParameter() != null
|
||||||
|
|||||||
@@ -17,16 +17,12 @@
|
|||||||
package org.jetbrains.kotlin.idea.refactoring.move
|
package org.jetbrains.kotlin.idea.refactoring.move
|
||||||
|
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.JetFileReferencesResolver
|
import org.jetbrains.kotlin.idea.codeInsight.JetFileReferencesResolver
|
||||||
import org.jetbrains.kotlin.psi.JetSimpleNameExpression
|
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
||||||
import org.jetbrains.kotlin.idea.references.JetSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.JetSimpleNameReference
|
||||||
import org.jetbrains.kotlin.name.FqName
|
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.idea.JetFileType
|
||||||
import org.jetbrains.kotlin.psi.JetNamedDeclaration
|
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToDeclarationUtil
|
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToDeclarationUtil
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.isAncestor
|
import org.jetbrains.kotlin.psi.psiUtil.isAncestor
|
||||||
import java.util.Collections
|
import java.util.Collections
|
||||||
@@ -40,14 +36,10 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.refactoring.util.MoveRenameUsageInfo
|
import com.intellij.refactoring.util.MoveRenameUsageInfo
|
||||||
import org.jetbrains.kotlin.idea.references.JetReference
|
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.psiUtil.getNonStrictParentOfType
|
||||||
import org.jetbrains.kotlin.psi.JetImportDirective
|
|
||||||
import java.util.ArrayList
|
import java.util.ArrayList
|
||||||
import com.intellij.refactoring.util.NonCodeUsageInfo
|
import com.intellij.refactoring.util.NonCodeUsageInfo
|
||||||
import org.jetbrains.kotlin.idea.util.ImportInsertHelper
|
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 org.jetbrains.kotlin.idea.references.JetSimpleNameReference.ShorteningMode
|
||||||
import com.intellij.openapi.vfs.VirtualFile
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
import com.intellij.openapi.util.Comparing
|
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
|
||||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind
|
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getQualifiedElementSelector
|
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)
|
public class PackageNameInfo(val oldPackageName: FqName, val newPackageName: FqName)
|
||||||
|
|
||||||
@@ -210,9 +205,9 @@ fun postProcessMoveUsages(usages: List<UsageInfo>,
|
|||||||
}
|
}
|
||||||
|
|
||||||
is MoveRenameUsageInfoForExtension -> {
|
is MoveRenameUsageInfoForExtension -> {
|
||||||
val element = counterpart(usage.getReferencedElement()!!)
|
|
||||||
val file = with(usage) { if (addImportToOriginalFile) originalFile else counterpart(originalFile) } as JetFile
|
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 -> {
|
is MoveRenameUsageInfo -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user