From 0fc3cc484d8db0eaef728b31e2daf1ae3132f929 Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 4 Jul 2012 11:51:04 +0200 Subject: [PATCH] method duplicates: always preview occurrences --- .../util/duplicates/DuplicatesImpl.java | 17 ++++++++++++----- .../duplicates/MethodDuplicatesHandler.java | 4 ---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/java/java-impl/src/com/intellij/refactoring/util/duplicates/DuplicatesImpl.java b/java/java-impl/src/com/intellij/refactoring/util/duplicates/DuplicatesImpl.java index 5825e5aa56a5..f6fe8a74680a 100644 --- a/java/java-impl/src/com/intellij/refactoring/util/duplicates/DuplicatesImpl.java +++ b/java/java-impl/src/com/intellij/refactoring/util/duplicates/DuplicatesImpl.java @@ -66,7 +66,7 @@ public class DuplicatesImpl { final String confirmDuplicatePrompt = getConfirmationPrompt(provider, duplicates); for (final Match match : duplicates) { if (!match.getMatchStart().isValid() || !match.getMatchEnd().isValid()) continue; - if (replaceMatch(project, provider, match, editor, ++idx, duplicates.size(), showAll, confirmDuplicatePrompt)) return; + if (replaceMatch(project, provider, match, editor, ++idx, duplicates.size(), showAll, confirmDuplicatePrompt, true)) return; } } @@ -83,7 +83,7 @@ public class DuplicatesImpl { final Editor editor = FileEditorManager.getInstance(project).openTextEditor(new OpenFileDescriptor(project, virtualFile), false); LOG.assertTrue(editor != null); if (!match.getMatchStart().isValid() || !match.getMatchEnd().isValid()) continue; - if (replaceMatch(project, provider, match, editor, ++idx, duplicates.size(), showAll, confirmDuplicatePrompt)) return; + if (replaceMatch(project, provider, match, editor, ++idx, duplicates.size(), showAll, confirmDuplicatePrompt, false)) return; } } @@ -99,11 +99,18 @@ public class DuplicatesImpl { return confirmDuplicatePrompt; } - private static boolean replaceMatch(final Project project, final MatchProvider provider, final Match match, @NotNull final Editor editor, - final int idx, final int size, Ref showAll, final String confirmDuplicatePrompt) { + private static boolean replaceMatch(final Project project, + final MatchProvider provider, + final Match match, + @NotNull final Editor editor, + final int idx, + final int size, + Ref showAll, + final String confirmDuplicatePrompt, + boolean skipPromptWhenOne) { final ArrayList highlighters = previewMatch(project, match, editor); if (!ApplicationManager.getApplication().isUnitTestMode()) { - if (size > 1 && (showAll.get() == null || !showAll.get())) { + if ((!skipPromptWhenOne || size > 1) && (showAll.get() == null || !showAll.get())) { final String prompt = provider.getConfirmDuplicatePrompt(match); final ReplacePromptDialog promptDialog = new ReplacePromptDialog(false, provider.getReplaceDuplicatesTitle(idx, size), project){ @Override diff --git a/java/java-impl/src/com/intellij/refactoring/util/duplicates/MethodDuplicatesHandler.java b/java/java-impl/src/com/intellij/refactoring/util/duplicates/MethodDuplicatesHandler.java index 9e08036aacb9..876617b516e4 100644 --- a/java/java-impl/src/com/intellij/refactoring/util/duplicates/MethodDuplicatesHandler.java +++ b/java/java-impl/src/com/intellij/refactoring/util/duplicates/MethodDuplicatesHandler.java @@ -34,17 +34,13 @@ import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectUtil; -import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.WindowManager; import com.intellij.psi.*; import com.intellij.psi.impl.source.PostprocessReformattingAspect; -import com.intellij.psi.impl.source.resolve.JavaResolveUtil; -import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.LocalSearchScope; import com.intellij.psi.util.PsiTreeUtil; -import com.intellij.psi.util.PsiUtil; import com.intellij.refactoring.HelpID; import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.RefactoringBundle;