diff --git a/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveDirectoryWithClassesProcessor.java b/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveDirectoryWithClassesProcessor.java index 982615d1afb6..418a0148e620 100644 --- a/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveDirectoryWithClassesProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveDirectoryWithClassesProcessor.java @@ -214,6 +214,13 @@ public class MoveDirectoryWithClassesProcessor extends BaseRefactoringProcessor for (PsiElement newElement : oldToNewElementsMapping.values()) { ChangeContextUtil.decodeContextInfo(newElement, null, null); } + + // fix references in moved files to outer files + for (PsiFile movedFile : movedFiles) { + MoveFileHandler.forElement(movedFile).updateMovedFile(movedFile); + FileReferenceContextUtil.decodeFileReferences(movedFile); + } + myNonCodeUsages = MoveClassesOrPackagesProcessor.retargetUsages(usages, oldToNewElementsMapping); for (UsageInfo usage : usages) { if (usage instanceof RemoveOnDemandImportStatementsUsageInfo) { @@ -223,12 +230,6 @@ public class MoveDirectoryWithClassesProcessor extends BaseRefactoringProcessor } } } - // fix references in moved files to outer files - for (PsiFile movedFile : movedFiles) { - MoveFileHandler.forElement(movedFile).updateMovedFile(movedFile); - FileReferenceContextUtil.decodeFileReferences(movedFile); - } - for (PsiDirectory directory : myDirectories) { directory.delete(); } diff --git a/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesProcessor.java index 0979ccb9a3dd..e3e62b8b5064 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesProcessor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesProcessor.java @@ -172,14 +172,14 @@ public class MoveFilesOrDirectoriesProcessor extends BaseRefactoringProcessor { } }); - retargetUsages(usages, oldToNewMap); - // fix references in moved files to outer files for (PsiFile movedFile : movedFiles) { MoveFileHandler.forElement(movedFile).updateMovedFile(movedFile); FileReferenceContextUtil.decodeFileReferences(movedFile); } + retargetUsages(usages, oldToNewMap); + // Perform CVS "add", "remove" commands on moved files. if (myMoveCallback != null) {