diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/copy/CopyKotlinDeclarationsHandler.kt b/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/copy/CopyKotlinDeclarationsHandler.kt index ee6eb9101187..bc1c7a8eaea9 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/copy/CopyKotlinDeclarationsHandler.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/copy/CopyKotlinDeclarationsHandler.kt @@ -31,10 +31,10 @@ import org.jetbrains.kotlin.idea.core.getFqNameWithImplicitPrefixOrRoot import org.jetbrains.kotlin.idea.core.packageMatchesDirectoryOrImplicit import org.jetbrains.kotlin.idea.k2.refactoring.move.descriptor.K2MoveTargetDescriptor import org.jetbrains.kotlin.idea.k2.refactoring.move.descriptor.K2MoveTargetDescriptor.Directory -import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.K2MoveRenameUsageInfo.Companion.markInternalUsages -import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.K2MoveRenameUsageInfo.Companion.retargetInternalUsagesForCopyFile -import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.K2MoveRenameUsageInfo.Companion.retargetUsages -import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.K2MoveRenameUsageInfo.Companion.unMarkAllUsages +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo.Companion.markInternalUsages +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo.Companion.retargetInternalUsagesForCopyFile +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo.Companion.retargetUsages +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo.Companion.unMarkAllUsages import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.conflict.checkModuleDependencyConflictsForInternalUsages import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.conflict.checkVisibilityConflictsForInternalUsages import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.createKotlinFile diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveDirectoryWithClassesHelper.kt b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveDirectoryWithClassesHelper.kt index 857c64feaeff..3e59f532b4e2 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveDirectoryWithClassesHelper.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveDirectoryWithClassesHelper.kt @@ -14,6 +14,7 @@ import com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectori import com.intellij.usageView.UsageInfo import com.intellij.util.Function import com.intellij.util.containers.MultiMap +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtFile diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveNestedDeclarationsRefactoringProcessor.kt b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveNestedDeclarationsRefactoringProcessor.kt index b2853a4798e3..ebc16d9d4e61 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveNestedDeclarationsRefactoringProcessor.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveNestedDeclarationsRefactoringProcessor.kt @@ -18,6 +18,8 @@ import org.jetbrains.kotlin.idea.k2.refactoring.move.descriptor.K2MoveDescriptor import org.jetbrains.kotlin.idea.k2.refactoring.move.descriptor.K2MoveOperationDescriptor import org.jetbrains.kotlin.idea.k2.refactoring.move.descriptor.K2MoveSourceDescriptor import org.jetbrains.kotlin.idea.k2.refactoring.move.descriptor.K2MoveTargetDescriptor +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.ImplicitCompanionAsDispatchReceiverUsageInfo +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.OuterInstanceReferenceUsageInfo import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/conflict/moduleDependencyConflict.kt b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/conflict/moduleDependencyConflict.kt index 7aa2daf2ea90..d4abe57533a2 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/conflict/moduleDependencyConflict.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/conflict/moduleDependencyConflict.kt @@ -11,8 +11,8 @@ import com.intellij.refactoring.util.RefactoringUIUtil import com.intellij.util.containers.MultiMap import com.intellij.util.containers.toMultiMap import org.jetbrains.kotlin.idea.base.util.module -import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.K2MoveRenameUsageInfo.Companion.internalUsageElements -import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.K2MoveRenameUsageInfo.Companion.internalUsageInfo +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo.Companion.internalUsageElements +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo.Companion.internalUsageInfo import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.isInternal import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.tryFindConflict import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.willBeMoved diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/conflict/visibilityConflict.kt b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/conflict/visibilityConflict.kt index 377d181b6ac2..8a5237010616 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/conflict/visibilityConflict.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/conflict/visibilityConflict.kt @@ -21,8 +21,8 @@ import org.jetbrains.kotlin.asJava.toLightElements import org.jetbrains.kotlin.idea.base.resources.KotlinBundle import org.jetbrains.kotlin.idea.base.util.module import org.jetbrains.kotlin.idea.core.getFqNameByDirectory -import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.K2MoveRenameUsageInfo.Companion.internalUsageElements -import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.K2MoveRenameUsageInfo.Companion.internalUsageInfo +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo.Companion.internalUsageElements +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo.Companion.internalUsageInfo import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.tryFindConflict import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.willBeMoved import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.willNotBeMoved diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/moveConflictUtil.kt b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/moveConflictUtil.kt index 46122bf67a9e..73fed4cbc308 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/moveConflictUtil.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/moveConflictUtil.kt @@ -18,6 +18,7 @@ import org.jetbrains.kotlin.idea.base.resources.KotlinBundle import org.jetbrains.kotlin.idea.base.util.module import org.jetbrains.kotlin.idea.codeinsight.utils.toVisibility import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.conflict.* +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtFile diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/moveUsageUtil.kt b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/moveUsageUtil.kt index 15a0ae2a61a7..68b7459da20b 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/moveUsageUtil.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/moveUsageUtil.kt @@ -22,7 +22,9 @@ import org.jetbrains.kotlin.analysis.api.symbols.KaSymbol import org.jetbrains.kotlin.analysis.api.types.symbol import org.jetbrains.kotlin.fileClasses.javaFileFacadeFqName import org.jetbrains.kotlin.idea.base.util.quoteIfNeeded -import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.K2MoveRenameUsageInfo.Companion.markInternalUsages +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo.Companion.markInternalUsages +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.OuterInstanceReferenceUsageInfo import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/ImplicitCompanionAsDispatchReceiverUsageInfo.kt b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/usages/ImplicitCompanionAsDispatchReceiverUsageInfo.kt similarity index 65% rename from plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/ImplicitCompanionAsDispatchReceiverUsageInfo.kt rename to plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/usages/ImplicitCompanionAsDispatchReceiverUsageInfo.kt index 53c0f43dda7b..03d35a6207e1 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/ImplicitCompanionAsDispatchReceiverUsageInfo.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/usages/ImplicitCompanionAsDispatchReceiverUsageInfo.kt @@ -1,11 +1,11 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.k2.refactoring.move.processor +package org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages import com.intellij.usageView.UsageInfo import org.jetbrains.kotlin.psi.KtObjectDeclaration import org.jetbrains.kotlin.psi.KtSimpleNameExpression class ImplicitCompanionAsDispatchReceiverUsageInfo( - callee: KtSimpleNameExpression, - val companionObject: KtObjectDeclaration -) : UsageInfo(callee) + callee: KtSimpleNameExpression, + val companionObject: KtObjectDeclaration +) : UsageInfo(callee) \ No newline at end of file diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveRenameUsageInfo.kt b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/usages/K2MoveRenameUsageInfo.kt similarity index 89% rename from plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveRenameUsageInfo.kt rename to plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/usages/K2MoveRenameUsageInfo.kt index 375d6e06da61..3c01cf60e1d0 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveRenameUsageInfo.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/usages/K2MoveRenameUsageInfo.kt @@ -1,5 +1,5 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.k2.refactoring.move.processor +package org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages import com.intellij.openapi.progress.ProgressManager import com.intellij.openapi.util.Key @@ -25,9 +25,11 @@ import org.jetbrains.kotlin.idea.base.analysis.canAddRootPrefix import org.jetbrains.kotlin.idea.base.resources.KotlinBundle import org.jetbrains.kotlin.idea.base.util.projectScope import org.jetbrains.kotlin.idea.codeinsight.utils.getLeftMostReceiverExpression -import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.K2MoveRenameUsageInfo.Companion.addRootPrefix -import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.K2MoveRenameUsageInfo.Companion.restoreInternalUsages -import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.K2MoveRenameUsageInfo.Companion.updatableUsageInfo +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.groupByFile +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.sortedByOffset +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo.Companion.addRootPrefix +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo.Companion.restoreInternalUsages +import org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages.K2MoveRenameUsageInfo.Companion.updatableUsageInfo import org.jetbrains.kotlin.idea.references.* import org.jetbrains.kotlin.kdoc.psi.impl.KDocName import org.jetbrains.kotlin.psi.* @@ -39,9 +41,9 @@ import org.jetbrains.kotlin.resolve.ROOT_PREFIX_FOR_IDE_RESOLUTION_MODE * Moving, for example, an instance method can result in the method losing visibility to a usage, but just this method doesn't need updating. */ sealed class K2MoveRenameUsageInfo( - element: PsiElement, - reference: PsiReference, - referencedElement: PsiNamedElement + element: PsiElement, + reference: PsiReference, + referencedElement: PsiNamedElement ) : MoveRenameUsageInfo(element, reference, referencedElement) { abstract fun retarget(to: PsiNamedElement): PsiElement? @@ -49,12 +51,12 @@ sealed class K2MoveRenameUsageInfo( * A usage described in a foreign language like Java or Groovy. */ class Light( - element: PsiElement, - reference: PsiReference, - referencedElement: KtNamedDeclaration, - private val wasMember: Boolean, - private val oldContainingFqn: String?, - private val lightElementIndex: Int, + element: PsiElement, + reference: PsiReference, + referencedElement: KtNamedDeclaration, + private val wasMember: Boolean, + private val oldContainingFqn: String?, + private val lightElementIndex: Int, ) : K2MoveRenameUsageInfo(element, reference, referencedElement) { override fun retarget(to: PsiNamedElement): PsiElement? { if (to !is KtNamedDeclaration) error("Usage must reference a Kotlin element") @@ -69,9 +71,9 @@ sealed class K2MoveRenameUsageInfo( } private fun updateJavaReference( - reference: PsiReferenceExpression, - oldClassFqn: String?, - newElement: PsiMember + reference: PsiReferenceExpression, + oldClassFqn: String?, + newElement: PsiMember ): Boolean { // TODO do proper implementation here where it keeps the import as-is val importOfOldClass = (reference.containingFile as? PsiJavaFile)?.importList?.allImportStatements?.firstOrNull { @@ -113,10 +115,10 @@ sealed class K2MoveRenameUsageInfo( * moved in this move operation. */ class Source( - element: KtElement, - reference: KtReference, - referencedElement: PsiNamedElement, - val isInternal: Boolean + element: KtElement, + reference: KtReference, + referencedElement: PsiNamedElement, + val isInternal: Boolean ) : K2MoveRenameUsageInfo(element, reference, referencedElement) { fun refresh(element: KtElement, referencedElement: PsiNamedElement): K2MoveRenameUsageInfo { val reference = element.mainReference ?: return this @@ -170,16 +172,18 @@ sealed class K2MoveRenameUsageInfo( /** * Internal usage info that can be retargeted. */ - internal var KtElement.updatableUsageInfo: K2MoveRenameUsageInfo? by CopyablePsiUserDataProperty(Key.create("UPDATABLE_INTERNAL_USAGE_INFO")) + internal var KtElement.updatableUsageInfo: K2MoveRenameUsageInfo? by CopyablePsiUserDataProperty( + Key.create("UPDATABLE_INTERNAL_USAGE_INFO")) /** * Internal usage info that can't be retargeted but might still be useful in, for example, conflict checking. */ - internal var KtElement.nonUpdatableUsageInfo: K2MoveRenameUsageInfo? by CopyablePsiUserDataProperty(Key.create("NON_UPDATABLE_INTERNAL_USAGE_INFO")) + internal var KtElement.nonUpdatableUsageInfo: K2MoveRenameUsageInfo? by CopyablePsiUserDataProperty( + Key.create("NON_UPDATABLE_INTERNAL_USAGE_INFO")) fun PsiElement.internalUsageElements() = collectDescendantsOfType() + - collectDescendantsOfType() + - collectDescendantsOfType() + collectDescendantsOfType() + + collectDescendantsOfType() /** * Finds any usage inside [containing]. @@ -206,9 +210,9 @@ sealed class K2MoveRenameUsageInfo( val mainReference = refElem.mainReference if (mainReference != null) { val declPsi = analyze(refElem) { - mainReference.resolveToSymbols().firstOrNull { declSymbol -> - (declSymbol as KaCallableSymbol).isExtensionDecl() - }?.psi + mainReference.resolveToSymbols().firstOrNull { declSymbol -> + (declSymbol as KaCallableSymbol).isExtensionDecl() + }?.psi } if (declPsi is PsiNamedElement) { refElem.updatableUsageInfo = Source(refElem, mainReference, declPsi, true) @@ -232,10 +236,10 @@ sealed class K2MoveRenameUsageInfo( if (mainReference is KtConstructorDelegationReference) return val resolved = mainReference.resolve() as? PsiNamedElement ?: return val isExtensionReference = if (resolved is KtCallableDeclaration) { - analyze(resolved) { - val symbol = resolved.symbol - if (symbol is KaCallableSymbol) symbol.isExtensionDecl() else false - } + analyze(resolved) { + val symbol = resolved.symbol + if (symbol is KaCallableSymbol) symbol.isExtensionDecl() else false + } } else false if (resolved is KtParameter) return if (resolved is KtNamedDeclaration && resolved.isDeclaredInContainingContext(expr, topLevelMoved)) return @@ -280,7 +284,7 @@ sealed class K2MoveRenameUsageInfo( private fun KtReferenceExpression.getQualifiedChainElement(): KtElement { return generateSequence(this) { - it.parent as? KtQualifiedExpression ?: it.parent as? KtCallExpression ?: it.parent as? KtUserType + it.parent as? KtQualifiedExpression ?: it.parent as? KtCallExpression ?: it.parent as? KtUserType }.last() } @@ -296,9 +300,9 @@ sealed class K2MoveRenameUsageInfo( * @see updatableUsageInfo */ private fun restoreInternalUsages( - containing: KtElement, - oldToNewMap: Map, - fromCopy: Boolean + containing: KtElement, + oldToNewMap: Map, + fromCopy: Boolean ): List { return containing.internalUsageElements().mapNotNull { refExpr -> val usageInfo = refExpr.updatableUsageInfo @@ -345,8 +349,8 @@ sealed class K2MoveRenameUsageInfo( } fun restoreInternalUsagesSorted( - oldToNewMap: Map, - fromCopy: Boolean = false + oldToNewMap: Map, + fromCopy: Boolean = false ): Map> { val newElements = oldToNewMap.values.toList() val topLevelElements = newElements @@ -411,9 +415,9 @@ sealed class K2MoveRenameUsageInfo( } private fun retargetMoveUsages( - usageInfosByFile: Map>, - oldToNewMap: Map, - totalFileCount: Int + usageInfosByFile: Map>, + oldToNewMap: Map, + totalFileCount: Int ): Map> { val progress = ProgressManager.getInstance().progressIndicator return usageInfosByFile.map { (file, usageInfos) -> @@ -425,7 +429,7 @@ sealed class K2MoveRenameUsageInfo( val qualifiedReference = if (retargetedReference is KtSimpleNameExpression) { // get top most qualified for shortening if we don't have it already generateSequence(retargetedReference) { - it.parent as? KtQualifiedExpression ?: it.parent as? KtCallExpression ?: it.parent as? KtUserType + it.parent as? KtQualifiedExpression ?: it.parent as? KtCallExpression ?: it.parent as? KtUserType }.last() } else retargetedReference if (usageInfo is Source && qualifiedReference != null) { @@ -438,7 +442,7 @@ sealed class K2MoveRenameUsageInfo( } /** - * Adds the [ROOT_PREFIX_FOR_IDE_RESOLUTION_MODE] qualifier prefix to this dot qualified expression if it is not there already. + * Adds the [org.jetbrains.kotlin.resolve.ROOT_PREFIX_FOR_IDE_RESOLUTION_MODE] qualifier prefix to this dot qualified expression if it is not there already. * This prefix ensures that when we qualify an expression, we do not accidentally capture local variable names that have * the same name as the package prefix we are located in. * @@ -476,7 +480,7 @@ sealed class K2MoveRenameUsageInfo( // We create pointers to the qualified elements here because they might get invalidated by shortening. val qualifiedExpressionPointers = usageMap.keys.filterIsInstance().map { it.createSmartPointer() } if (file is KtFile) { - shortenReferences(usageMap.keys.filterIsInstance()) + shortenReferences(usageMap.keys.filterIsInstance()) } // There are some circumstances where the reference shortener does not shorten an expression we added the root prefix to. // This can happen if the reference shortener is unable to add an import because the declaration's name is already diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/OuterInstanceReferenceUsageInfo.kt b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/usages/OuterInstanceReferenceUsageInfo.kt similarity index 89% rename from plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/OuterInstanceReferenceUsageInfo.kt rename to plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/usages/OuterInstanceReferenceUsageInfo.kt index 662e7d941b29..09f1c93c94f2 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/OuterInstanceReferenceUsageInfo.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/usages/OuterInstanceReferenceUsageInfo.kt @@ -1,5 +1,5 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package org.jetbrains.kotlin.idea.k2.refactoring.move.processor +package org.jetbrains.kotlin.idea.k2.refactoring.move.processor.usages import com.intellij.psi.PsiElement import com.intellij.usageView.UsageInfo @@ -21,16 +21,16 @@ internal sealed class OuterInstanceReferenceUsageInfo(element: PsiElement, priva } class ExplicitThis( - expression: KtThisExpression, - isIndirectOuter: Boolean + expression: KtThisExpression, + isIndirectOuter: Boolean ) : OuterInstanceReferenceUsageInfo(expression, isIndirectOuter) { val expression: KtThisExpression get() = element as KtThisExpression } class ImplicitReceiver( - callElement: KtElement, - isIndirectOuter: Boolean, - private val isDoubleReceiver: Boolean + callElement: KtElement, + isIndirectOuter: Boolean, + private val isDoubleReceiver: Boolean ) : OuterInstanceReferenceUsageInfo(callElement, isIndirectOuter) { val callElement: KtElement get() = element as KtElement