From 23ca3e01de748e96e2f8045c9d68a58b63cb43c3 Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 11 Jan 2012 13:33:31 +0100 Subject: [PATCH] inplace rename: check if element is valid to rename after substitution --- .../intellij/refactoring/rename/RenameJavaMethodProcessor.java | 3 ++- .../intellij/refactoring/rename/RenamePsiElementProcessor.java | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaMethodProcessor.java b/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaMethodProcessor.java index 2868623dcbaf..812f8b0c5611 100644 --- a/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaMethodProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaMethodProcessor.java @@ -241,7 +241,7 @@ public class RenameJavaMethodProcessor extends RenameJavaMemberProcessor { @Override public void substituteElementToRename(@NotNull PsiElement element, - @NotNull Editor editor, + @NotNull final Editor editor, @NotNull final Pass renameCallback) { PsiMethod psiMethod = (PsiMethod)element; if (psiMethod.isConstructor()) { @@ -251,6 +251,7 @@ public class RenameJavaMethodProcessor extends RenameJavaMemberProcessor { SuperMethodWarningUtil.checkSuperMethod(psiMethod, "Rename", new PsiElementProcessor() { @Override public boolean execute(@NotNull PsiMethod method) { + if (!PsiElementRenameHandler.canRename(method.getProject(), editor, method)) return false; renameCallback.pass(method); return false; } diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/RenamePsiElementProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/rename/RenamePsiElementProcessor.java index 946f934cb8bf..6ad10cb13dfd 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/RenamePsiElementProcessor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/RenamePsiElementProcessor.java @@ -175,6 +175,7 @@ public abstract class RenamePsiElementProcessor { public void substituteElementToRename(@NotNull final PsiElement element, @NotNull Editor editor, @NotNull Pass renameCallback) { final PsiElement psiElement = substituteElementToRename(element, editor); if (psiElement == null) return; + if (!PsiElementRenameHandler.canRename(psiElement.getProject(), editor, psiElement)) return; renameCallback.pass(psiElement); }