From fc9e50460cf0720414c81b77fb20b9b83bed3c52 Mon Sep 17 00:00:00 2001 From: anna Date: Sat, 12 Feb 2011 18:31:50 +0100 Subject: [PATCH] change signature detection: ignore changes in import list --- .../changeSignature/JavaChangeSignatureDetector.java | 5 +++++ .../changeSignature/ChangeSignatureGestureDetector.java | 1 + .../changeSignature/LanguageChangeSignatureDetector.java | 2 ++ 3 files changed, 8 insertions(+) diff --git a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureDetector.java b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureDetector.java index 23c68a152373..46cdc9d86a89 100644 --- a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureDetector.java +++ b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureDetector.java @@ -381,6 +381,11 @@ public class JavaChangeSignatureDetector implements LanguageChangeSignatureDetec }.execute(); } + @Override + public boolean ignoreChanges(PsiElement element) { + return PsiTreeUtil.getParentOfType(element, PsiImportList.class) != null; + } + private static boolean isInsideMethodSignature(PsiElement element, @NotNull PsiMethod method) { final PsiCodeBlock body = method.getBody(); if (body != null) { diff --git a/platform/lang-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureGestureDetector.java b/platform/lang-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureGestureDetector.java index 68411e0f9422..189f15b8742a 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureGestureDetector.java +++ b/platform/lang-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureGestureDetector.java @@ -199,6 +199,7 @@ public class ChangeSignatureGestureDetector extends PsiTreeChangeAdapter impleme if (changeBean != null && changeBean.getInitialText() != null) { final Editor editor = myFileEditorManager.getSelectedTextEditor(); if (editor != null && myTemplateManager.getActiveTemplate(editor) != null) return; + if (LanguageChangeSignatureDetectors.INSTANCE.forLanguage(child.getLanguage()).ignoreChanges(child)) return; final ChangeInfo info = LanguageChangeSignatureDetectors.createCurrentChangeInfo(child, changeBean.getInitialChangeInfo()); if (info == null) { changeBean.reinit(); diff --git a/platform/lang-impl/src/com/intellij/refactoring/changeSignature/LanguageChangeSignatureDetector.java b/platform/lang-impl/src/com/intellij/refactoring/changeSignature/LanguageChangeSignatureDetector.java index 10d909ec9667..3be82cbebf93 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/changeSignature/LanguageChangeSignatureDetector.java +++ b/platform/lang-impl/src/com/intellij/refactoring/changeSignature/LanguageChangeSignatureDetector.java @@ -39,4 +39,6 @@ public interface LanguageChangeSignatureDetector { boolean isMoveParameterAvailable(PsiElement parameter, boolean left); void moveParameter(PsiElement parameter, Editor editor, boolean left); + + boolean ignoreChanges(PsiElement element); }