From 5afc6235cc2ffaaf383774ac7579ed8ce0e21f87 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Tue, 26 May 2015 14:43:18 +0300 Subject: [PATCH] Move: Do not update package directives in files that don't belong to source root #KT-7824 Fixed --- .../ui/MoveFilesOrDirectoriesDialogWithKotlinOptions.kt | 3 ++- .../org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveTopLevelDeclarations/ui/MoveFilesOrDirectoriesDialogWithKotlinOptions.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveTopLevelDeclarations/ui/MoveFilesOrDirectoriesDialogWithKotlinOptions.kt index 8999fd30902..5bd968826e1 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveTopLevelDeclarations/ui/MoveFilesOrDirectoriesDialogWithKotlinOptions.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveTopLevelDeclarations/ui/MoveFilesOrDirectoriesDialogWithKotlinOptions.kt @@ -22,6 +22,7 @@ import com.intellij.psi.PsiElement import com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesDialog import com.intellij.ui.NonFocusableCheckBox 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.psiUtil.packageMatchesDirectory import java.awt.GridBagConstraints @@ -70,7 +71,7 @@ public class MoveFilesOrDirectoriesDialogWithKotlinOptions( super.setData(psiElements, initialTargetDirectory, helpID) with (cbUpdatePackageDirective!!) { - val jetFiles = psiElements.filterIsInstance() + val jetFiles = psiElements.filterIsInstance().filter { it.isInJavaSourceRoot() } if (jetFiles.isEmpty()) { getParent().remove(cbUpdatePackageDirective) return diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt index 9d108e8b931..159ad1f1a57 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt @@ -50,6 +50,7 @@ import org.jetbrains.kotlin.idea.JetFileType import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde 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.move.moveTopLevelDeclarations.ui.MoveFilesOrDirectoriesDialogWithKotlinOptions import org.jetbrains.kotlin.idea.references.JetReference @@ -315,7 +316,9 @@ public fun moveFilesOrDirectories( elementsToMove.forEach { MoveFilesOrDirectoriesUtil.checkMove(it, selectedDir) - (it as? JetFile)?.let { it.updatePackageDirective = updatePackageDirective } + if (it is JetFile && it.isInJavaSourceRoot()) { + it.updatePackageDirective = updatePackageDirective + } } if (elementsToMove.isNotEmpty()) {