KotlinIntroduceImportAliasHandler: remove unnecessary transformations
This commit is contained in:
+6
-6
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.idea.core.moveCaret
|
|||||||
import org.jetbrains.kotlin.idea.core.util.CodeInsightUtils
|
import org.jetbrains.kotlin.idea.core.util.CodeInsightUtils
|
||||||
import org.jetbrains.kotlin.idea.imports.importableFqName
|
import org.jetbrains.kotlin.idea.imports.importableFqName
|
||||||
import org.jetbrains.kotlin.idea.refactoring.selectElement
|
import org.jetbrains.kotlin.idea.refactoring.selectElement
|
||||||
|
import org.jetbrains.kotlin.idea.references.KtReference
|
||||||
import org.jetbrains.kotlin.idea.references.findPsiDeclarations
|
import org.jetbrains.kotlin.idea.references.findPsiDeclarations
|
||||||
import org.jetbrains.kotlin.idea.references.mainReference
|
import org.jetbrains.kotlin.idea.references.mainReference
|
||||||
import org.jetbrains.kotlin.idea.references.resolveMainReferenceToDescriptors
|
import org.jetbrains.kotlin.idea.references.resolveMainReferenceToDescriptors
|
||||||
@@ -123,14 +124,13 @@ private fun invokeRename(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun replaceUsages(usages: List<UsageContext>, newName: String) {
|
private fun replaceUsages(usages: List<UsageContext>, newName: String) {
|
||||||
usages.filter { it.pointer.element?.safeAs<KtElement>()?.mainReference?.isImportUsage() == false }
|
// case: inner element
|
||||||
.reversed() // case: inner element
|
for (usage in usages.asReversed()) {
|
||||||
.forEach {
|
val reference = usage.pointer.element?.safeAs<KtElement>()?.mainReference?.takeUnless(KtReference::isImportUsage) ?: continue
|
||||||
val reference = it.pointer.element?.safeAs<KtElement>()?.mainReference ?: return@forEach
|
|
||||||
val newExpression = reference.handleElementRename(newName) as KtNameReferenceExpression
|
val newExpression = reference.handleElementRename(newName) as KtNameReferenceExpression
|
||||||
if (it.isExtension) {
|
if (usage.isExtension) {
|
||||||
newExpression.getQualifiedElementSelector()?.replace(newExpression)
|
newExpression.getQualifiedElementSelector()?.replace(newExpression)
|
||||||
return@forEach
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
val qualifiedElement = newExpression.getQualifiedElement()
|
val qualifiedElement = newExpression.getQualifiedElement()
|
||||||
|
|||||||
Reference in New Issue
Block a user