From e4119fbbb956997f6f3ff782443413ff6dd3a8bf Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 15 Feb 2012 10:36:04 +0100 Subject: [PATCH] EA-30802 - AIOOBE: MoveClassesOrPackagesProcessor.performRefactoring --- .../MoveClassesOrPackagesProcessor.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveClassesOrPackagesProcessor.java b/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveClassesOrPackagesProcessor.java index d5a48a6e1d8a..da8f923bd552 100644 --- a/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveClassesOrPackagesProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveClassesOrPackagesProcessor.java @@ -475,8 +475,14 @@ public class MoveClassesOrPackagesProcessor extends BaseRefactoringProcessor { oldToNewElementsMapping.put(element, newElement); int i = 0; final PsiDirectory[] newDirectories = newElement.getDirectories(); - for (PsiDirectory directory : directories) { - oldToNewElementsMapping.put(directory, newDirectories[i++]); + if (newDirectories.length == 1) {//everything is moved in one directory + for (PsiDirectory directory : directories) { + oldToNewElementsMapping.put(directory, newDirectories[0]); + } + } else { + for (PsiDirectory directory : directories) { + oldToNewElementsMapping.put(directory, newDirectories[i++]); + } } element = newElement; }