Update foreign references when renaming a Kotlin file
(cherry picked from commit 1571a87d8f2ac755d0ba0bcb71f331e654dc1a92)
This commit is contained in:
@@ -11,13 +11,16 @@ import com.intellij.psi.JavaPsiFacade
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
|
import com.intellij.refactoring.listeners.RefactoringElementListener
|
||||||
import com.intellij.refactoring.rename.RenamePsiFileProcessor
|
import com.intellij.refactoring.rename.RenamePsiFileProcessor
|
||||||
|
import com.intellij.usageView.UsageInfo
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils
|
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
|
import java.util.ArrayList
|
||||||
|
|
||||||
class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
|
class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
|
||||||
class FileRenamingPsiClassWrapper(
|
class FileRenamingPsiClassWrapper(
|
||||||
@@ -54,4 +57,14 @@ class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun renameElement(element: PsiElement, newName: String, usages: Array<UsageInfo>, listener: RefactoringElementListener?) {
|
||||||
|
val kotlinUsages = ArrayList<UsageInfo>(usages.size)
|
||||||
|
|
||||||
|
ForeignUsagesRenameProcessor.processAll(element, newName, usages, fallbackHandler = {
|
||||||
|
kotlinUsages += it
|
||||||
|
})
|
||||||
|
|
||||||
|
super.renameElement(element, newName, kotlinUsages.toTypedArray(), listener)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user