Move: Do not update package directives in files that don't belong to source root
#KT-7824 Fixed
This commit is contained in:
+2
-1
@@ -22,6 +22,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesDialog
|
import com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesDialog
|
||||||
import com.intellij.ui.NonFocusableCheckBox
|
import com.intellij.ui.NonFocusableCheckBox
|
||||||
import com.intellij.util.ui.UIUtil
|
import com.intellij.util.ui.UIUtil
|
||||||
|
import org.jetbrains.kotlin.idea.core.refactoring.isInJavaSourceRoot
|
||||||
import org.jetbrains.kotlin.psi.JetFile
|
import org.jetbrains.kotlin.psi.JetFile
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.packageMatchesDirectory
|
import org.jetbrains.kotlin.psi.psiUtil.packageMatchesDirectory
|
||||||
import java.awt.GridBagConstraints
|
import java.awt.GridBagConstraints
|
||||||
@@ -70,7 +71,7 @@ public class MoveFilesOrDirectoriesDialogWithKotlinOptions(
|
|||||||
super.setData(psiElements, initialTargetDirectory, helpID)
|
super.setData(psiElements, initialTargetDirectory, helpID)
|
||||||
|
|
||||||
with (cbUpdatePackageDirective!!) {
|
with (cbUpdatePackageDirective!!) {
|
||||||
val jetFiles = psiElements.filterIsInstance<JetFile>()
|
val jetFiles = psiElements.filterIsInstance<JetFile>().filter { it.isInJavaSourceRoot() }
|
||||||
if (jetFiles.isEmpty()) {
|
if (jetFiles.isEmpty()) {
|
||||||
getParent().remove(cbUpdatePackageDirective)
|
getParent().remove(cbUpdatePackageDirective)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ import org.jetbrains.kotlin.idea.JetFileType
|
|||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.JetFileReferencesResolver
|
import org.jetbrains.kotlin.idea.codeInsight.JetFileReferencesResolver
|
||||||
|
import org.jetbrains.kotlin.idea.core.refactoring.isInJavaSourceRoot
|
||||||
import org.jetbrains.kotlin.idea.refactoring.fqName.isImported
|
import org.jetbrains.kotlin.idea.refactoring.fqName.isImported
|
||||||
import org.jetbrains.kotlin.idea.refactoring.move.moveTopLevelDeclarations.ui.MoveFilesOrDirectoriesDialogWithKotlinOptions
|
import org.jetbrains.kotlin.idea.refactoring.move.moveTopLevelDeclarations.ui.MoveFilesOrDirectoriesDialogWithKotlinOptions
|
||||||
import org.jetbrains.kotlin.idea.references.JetReference
|
import org.jetbrains.kotlin.idea.references.JetReference
|
||||||
@@ -315,7 +316,9 @@ public fun moveFilesOrDirectories(
|
|||||||
|
|
||||||
elementsToMove.forEach {
|
elementsToMove.forEach {
|
||||||
MoveFilesOrDirectoriesUtil.checkMove(it, selectedDir)
|
MoveFilesOrDirectoriesUtil.checkMove(it, selectedDir)
|
||||||
(it as? JetFile)?.let { it.updatePackageDirective = updatePackageDirective }
|
if (it is JetFile && it.isInJavaSourceRoot()) {
|
||||||
|
it.updatePackageDirective = updatePackageDirective
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (elementsToMove.isNotEmpty()) {
|
if (elementsToMove.isNotEmpty()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user