Move: Wrap individual internal usages for better preview
Fix unused import removal for internal usages #KT-9158 Fixed
This commit is contained in:
+8
-7
@@ -122,10 +122,11 @@ class MoveKotlinDeclarationsProcessor(
|
|||||||
|
|
||||||
fun getConflictsAsUsages(): List<UsageInfo> = conflicts.entrySet().map { ConflictUsageInfo(it.key, it.value) }
|
fun getConflictsAsUsages(): List<UsageInfo> = conflicts.entrySet().map { ConflictUsageInfo(it.key, it.value) }
|
||||||
|
|
||||||
class UsagesToProcessBeforeMoveWrapper(
|
class UsageToProcessBeforeMoveWrapper private constructor (element: PsiElement, val originalUsage: UsageInfo): UsageInfo(element) {
|
||||||
sourceFile: KtFile,
|
companion object {
|
||||||
val usages: Collection<UsageInfo>
|
fun create(originalUsage: UsageInfo) = originalUsage.element?.let { UsageToProcessBeforeMoveWrapper(it, originalUsage) }
|
||||||
): UsageInfo(sourceFile)
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override fun findUsages(): Array<UsageInfo> {
|
public override fun findUsages(): Array<UsageInfo> {
|
||||||
if (elementsToMove.isEmpty()) return UsageInfo.EMPTY_ARRAY
|
if (elementsToMove.isEmpty()) return UsageInfo.EMPTY_ARRAY
|
||||||
@@ -198,7 +199,7 @@ class MoveKotlinDeclarationsProcessor(
|
|||||||
val (usagesToProcessLater, usagesToProcessEarly) = internalUsages.partition { it is UnqualifiableMoveRenameUsageInfo }
|
val (usagesToProcessLater, usagesToProcessEarly) = internalUsages.partition { it is UnqualifiableMoveRenameUsageInfo }
|
||||||
usages += usagesToProcessLater
|
usages += usagesToProcessLater
|
||||||
usagesToProcessBeforeMove += usagesToProcessEarly
|
usagesToProcessBeforeMove += usagesToProcessEarly
|
||||||
usages += UsagesToProcessBeforeMoveWrapper(sourceFile, usagesToProcessBeforeMove)
|
usages += usagesToProcessBeforeMove.mapNotNull { UsageToProcessBeforeMoveWrapper.create(it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
descriptor.delegate.collectConflicts(descriptor, usagesToProcessBeforeMove, conflicts)
|
descriptor.delegate.collectConflicts(descriptor, usagesToProcessBeforeMove, conflicts)
|
||||||
@@ -230,8 +231,8 @@ class MoveKotlinDeclarationsProcessor(
|
|||||||
val usageList = usages.toList()
|
val usageList = usages.toList()
|
||||||
|
|
||||||
val (usagesToProcessBeforeMoveWrappers, usagesToProcessAfterMove) =
|
val (usagesToProcessBeforeMoveWrappers, usagesToProcessAfterMove) =
|
||||||
usageList.partition { it is UsagesToProcessBeforeMoveWrapper }
|
usageList.partition { it is UsageToProcessBeforeMoveWrapper }
|
||||||
val usagesToProcessBeforeMove = usagesToProcessBeforeMoveWrappers.flatMap { (it as UsagesToProcessBeforeMoveWrapper).usages }
|
val usagesToProcessBeforeMove = usagesToProcessBeforeMoveWrappers.map { (it as UsageToProcessBeforeMoveWrapper).originalUsage }
|
||||||
|
|
||||||
descriptor.delegate.preprocessUsages(project, descriptor, usagesToProcessBeforeMove)
|
descriptor.delegate.preprocessUsages(project, descriptor, usagesToProcessBeforeMove)
|
||||||
descriptor.delegate.preprocessUsages(project, descriptor, usagesToProcessAfterMove)
|
descriptor.delegate.preprocessUsages(project, descriptor, usagesToProcessAfterMove)
|
||||||
|
|||||||
-4
@@ -1,10 +1,6 @@
|
|||||||
package second
|
package second
|
||||||
|
|
||||||
import third.B
|
|
||||||
import fourth.X.Y
|
|
||||||
import third.D as D_
|
import third.D as D_
|
||||||
import fourth.*
|
|
||||||
import third.B.*
|
|
||||||
|
|
||||||
class A
|
class A
|
||||||
|
|
||||||
|
|||||||
-4
@@ -1,10 +1,6 @@
|
|||||||
package second
|
package second
|
||||||
|
|
||||||
import third.B
|
|
||||||
import fourth.X.Y
|
|
||||||
import third.D as D_
|
import third.D as D_
|
||||||
import fourth.*
|
|
||||||
import third.B.*
|
|
||||||
|
|
||||||
class A
|
class A
|
||||||
|
|
||||||
|
|||||||
-2
@@ -1,7 +1,5 @@
|
|||||||
package source
|
package source
|
||||||
|
|
||||||
import library.*
|
|
||||||
|
|
||||||
class Bar {
|
class Bar {
|
||||||
companion object {
|
companion object {
|
||||||
val c : Int
|
val c : Int
|
||||||
|
|||||||
-2
@@ -1,7 +1,5 @@
|
|||||||
package source
|
package source
|
||||||
|
|
||||||
import library.*
|
|
||||||
|
|
||||||
class Bar {
|
class Bar {
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user