diff --git a/java/java-impl/src/com/intellij/refactoring/invertBoolean/InvertBooleanProcessor.java b/java/java-impl/src/com/intellij/refactoring/invertBoolean/InvertBooleanProcessor.java index a1f4ce122e1a..b859be9299ac 100644 --- a/java/java-impl/src/com/intellij/refactoring/invertBoolean/InvertBooleanProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/invertBoolean/InvertBooleanProcessor.java @@ -24,7 +24,6 @@ import com.intellij.psi.search.searches.MethodReferencesSearch; import com.intellij.psi.search.searches.OverridingMethodsSearch; import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.refactoring.BaseRefactoringProcessor; -import com.intellij.refactoring.listeners.RefactoringElementListener; import com.intellij.refactoring.rename.RenameProcessor; import com.intellij.refactoring.rename.RenameUtil; import com.intellij.refactoring.util.MoveRenameUsageInfo; @@ -62,11 +61,13 @@ public class InvertBooleanProcessor extends BaseRefactoringProcessor { mySmartPointerManager = SmartPointerManager.getInstance(project); } + @Override @NotNull protected UsageViewDescriptor createUsageViewDescriptor(UsageInfo[] usages) { return new InvertBooleanUsageViewDescriptor(myElement); } + @Override protected boolean preprocessUsages(Ref refUsages) { if (myRenameProcessor.preprocessUsages(refUsages)) { prepareSuccessful(); @@ -75,6 +76,7 @@ public class InvertBooleanProcessor extends BaseRefactoringProcessor { return false; } + @Override @NotNull protected UsageInfo[] findUsages() { final List toInvert = new ArrayList(); @@ -175,7 +177,7 @@ public class InvertBooleanProcessor extends BaseRefactoringProcessor { for (PsiReference ref : refs) { final PsiElement element = ref.getElement(); if (element instanceof PsiReferenceExpression) { - final PsiReferenceExpression refExpr = ((PsiReferenceExpression)element); + final PsiReferenceExpression refExpr = (PsiReferenceExpression)element; PsiElement parent = refExpr.getParent(); if (parent instanceof PsiAssignmentExpression && refExpr.equals(((PsiAssignmentExpression)parent).getLExpression())) { toInvert.add(mySmartPointerManager.createSmartPsiElementPointer(((PsiAssignmentExpression)parent).getRExpression())); @@ -203,9 +205,10 @@ public class InvertBooleanProcessor extends BaseRefactoringProcessor { } } + @Override protected void refreshElements(PsiElement[] elements) { LOG.assertTrue(elements.length == 1 && elements[0] instanceof PsiMethod); - myElement = ((PsiMethod)elements[0]); + myElement = (PsiMethod)elements[0]; } private static UsageInfo[] extractUsagesForElement(PsiElement element, UsageInfo[] usages) { @@ -222,17 +225,11 @@ public class InvertBooleanProcessor extends BaseRefactoringProcessor { } + @Override protected void performRefactoring(UsageInfo[] usages) { - for (final PsiElement element : myRenameProcessor.getElements()) { try { - RenameUtil.doRename(element, myRenameProcessor.getNewName(element), extractUsagesForElement(element, usages), myProject, new RefactoringElementListener() { - public void elementMoved(@NotNull PsiElement newElement) { - } - - public void elementRenamed(@NotNull PsiElement newElement) { - } - }); + RenameUtil.doRename(element, myRenameProcessor.getNewName(element), extractUsagesForElement(element, usages), myProject, null); } catch (final IncorrectOperationException e) { RenameUtil.showErrorMessage(e, element, myProject); @@ -263,6 +260,7 @@ public class InvertBooleanProcessor extends BaseRefactoringProcessor { } } + @Override protected String getCommandName() { return InvertBooleanHandler.REFACTORING_NAME; } diff --git a/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaClassProcessor.java b/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaClassProcessor.java index 8278a85557ac..8f8b7770beba 100644 --- a/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaClassProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaClassProcessor.java @@ -61,7 +61,8 @@ public class RenameJavaClassProcessor extends RenamePsiElementProcessor { public void renameElement(final PsiElement element, final String newName, - final UsageInfo[] usages, final RefactoringElementListener listener) throws IncorrectOperationException { + final UsageInfo[] usages, + @Nullable RefactoringElementListener listener) throws IncorrectOperationException { PsiClass aClass = (PsiClass) element; ArrayList postponedCollisions = new ArrayList(); List hidesOut = new ArrayList(); @@ -111,7 +112,9 @@ public class RenameJavaClassProcessor extends RenamePsiElementProcessor { }*/ - listener.elementRenamed(aClass); + if (listener != null) { + listener.elementRenamed(aClass); + } } @Nullable 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 43d08e304970..24a17f8e7238 100644 --- a/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaMethodProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaMethodProcessor.java @@ -59,7 +59,8 @@ public class RenameJavaMethodProcessor extends RenameJavaMemberProcessor { public void renameElement(final PsiElement psiElement, final String newName, - final UsageInfo[] usages, final RefactoringElementListener listener) throws IncorrectOperationException { + final UsageInfo[] usages, + @Nullable RefactoringElementListener listener) throws IncorrectOperationException { PsiMethod method = (PsiMethod) psiElement; Set methodAndOverriders = new HashSet(); Set containingClasses = new HashSet(); @@ -115,7 +116,9 @@ public class RenameJavaMethodProcessor extends RenameJavaMemberProcessor { ((PsiMethod)element).setName(newName); } } - listener.elementRenamed(method); + if (listener != null) { + listener.elementRenamed(method); + } for (PsiElement element: renamedReferences) { fixNameCollisionsWithInnerClassMethod(element, newName, methodAndOverriders, containingClasses, diff --git a/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaVariableProcessor.java b/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaVariableProcessor.java index 072f8283bd0e..1573362df95e 100644 --- a/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaVariableProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaVariableProcessor.java @@ -57,7 +57,8 @@ public class RenameJavaVariableProcessor extends RenameJavaMemberProcessor { public void renameElement(final PsiElement psiElement, final String newName, - final UsageInfo[] usages, final RefactoringElementListener listener) throws IncorrectOperationException { + final UsageInfo[] usages, + @Nullable RefactoringElementListener listener) throws IncorrectOperationException { PsiVariable variable = (PsiVariable) psiElement; List outerHides = new ArrayList(); List staticImportHides = new ArrayList(); @@ -104,7 +105,9 @@ public class RenameJavaVariableProcessor extends RenameJavaMemberProcessor { } // do actual rename variable.setName(newName); - listener.elementRenamed(variable); + if (listener != null) { + listener.elementRenamed(variable); + } if (variable instanceof PsiField) { for (PsiElement occurrence : occurrencesToCheckForConflict) { diff --git a/java/java-impl/src/com/intellij/refactoring/rename/RenamePsiDirectoryProcessor.java b/java/java-impl/src/com/intellij/refactoring/rename/RenamePsiDirectoryProcessor.java index 48ca3de9a253..1b28e46a7ee7 100644 --- a/java/java-impl/src/com/intellij/refactoring/rename/RenamePsiDirectoryProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/rename/RenamePsiDirectoryProcessor.java @@ -56,7 +56,8 @@ public class RenamePsiDirectoryProcessor extends RenamePsiElementProcessor { public void renameElement(final PsiElement element, final String newName, - final UsageInfo[] usages, final RefactoringElementListener listener) throws IncorrectOperationException { + final UsageInfo[] usages, + @Nullable RefactoringElementListener listener) throws IncorrectOperationException { PsiDirectory aDirectory = (PsiDirectory) element; // rename all non-package statement references for (UsageInfo usage : usages) { @@ -71,7 +72,9 @@ public class RenamePsiDirectoryProcessor extends RenamePsiElementProcessor { } aDirectory.setName(newName); - listener.elementRenamed(aDirectory); + if (listener != null) { + listener.elementRenamed(aDirectory); + } } public String getQualifiedNameAfterRename(final PsiElement element, final String newName, final boolean nonJava) { diff --git a/java/java-impl/src/com/intellij/refactoring/rename/RenamePsiPackageProcessor.java b/java/java-impl/src/com/intellij/refactoring/rename/RenamePsiPackageProcessor.java index 55bc7706e5d5..1e9296f046e1 100644 --- a/java/java-impl/src/com/intellij/refactoring/rename/RenamePsiPackageProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/rename/RenamePsiPackageProcessor.java @@ -44,7 +44,8 @@ public class RenamePsiPackageProcessor extends RenamePsiElementProcessor { public void renameElement(final PsiElement element, final String newName, - final UsageInfo[] usages, final RefactoringElementListener listener) throws IncorrectOperationException { + final UsageInfo[] usages, + @Nullable RefactoringElementListener listener) throws IncorrectOperationException { final PsiPackage psiPackage = (PsiPackage)element; psiPackage.handleQualifiedNameChange(PsiUtilCore.getQualifiedNameAfterRename(psiPackage.getQualifiedName(), newName)); RenameUtil.doRenameGenericNamedElement(element, newName, usages, listener); 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 6ad10cb13dfd..3a095feff05a 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/RenamePsiElementProcessor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/RenamePsiElementProcessor.java @@ -55,7 +55,7 @@ public abstract class RenamePsiElementProcessor { } public void renameElement(final PsiElement element, String newName, UsageInfo[] usages, - RefactoringElementListener listener) throws IncorrectOperationException { + @Nullable RefactoringElementListener listener) throws IncorrectOperationException { RenameUtil.doRenameGenericNamedElement(element, newName, usages, listener); } diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java b/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java index 69f67380cd9c..c810f88cc359 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/RenameUtil.java @@ -164,7 +164,7 @@ public class RenameUtil { } public static void doRename(final PsiElement element, String newName, UsageInfo[] usages, final Project project, - final RefactoringElementListener listener) throws IncorrectOperationException{ + @Nullable final RefactoringElementListener listener) throws IncorrectOperationException{ final RenamePsiElementProcessor processor = RenamePsiElementProcessor.forElement(element); final String fqn = element instanceof PsiFile ? ((PsiFile)element).getVirtualFile().getPath() : CopyReferenceAction.elementToFqn(element); if (fqn != null) { diff --git a/plugins/android/src/org/jetbrains/android/AndroidRenameResourceProcessor.java b/plugins/android/src/org/jetbrains/android/AndroidRenameResourceProcessor.java index e72c176796e5..c71605775e88 100644 --- a/plugins/android/src/org/jetbrains/android/AndroidRenameResourceProcessor.java +++ b/plugins/android/src/org/jetbrains/android/AndroidRenameResourceProcessor.java @@ -251,7 +251,7 @@ public class AndroidRenameResourceProcessor extends RenamePsiElementProcessor { } @Override - public void renameElement(PsiElement element, final String newName, UsageInfo[] usages, RefactoringElementListener listener) + public void renameElement(PsiElement element, final String newName, UsageInfo[] usages, @Nullable RefactoringElementListener listener) throws IncorrectOperationException { if (element instanceof PsiField) { new RenameJavaVariableProcessor().renameElement(element, newName, usages, listener); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameAliasImportedMethodProcessor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameAliasImportedMethodProcessor.java index 4b57a047c411..7d4a65ef4315 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameAliasImportedMethodProcessor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameAliasImportedMethodProcessor.java @@ -70,7 +70,7 @@ public class RenameAliasImportedMethodProcessor extends RenameJavaMethodProcesso public void renameElement(PsiElement psiElement, String newName, UsageInfo[] usages, - RefactoringElementListener listener) throws IncorrectOperationException { + @Nullable RefactoringElementListener listener) throws IncorrectOperationException { boolean isGetter = isSimplePropertyGetter((PsiMethod)psiElement); boolean isSetter = isSimplePropertySetter((PsiMethod)psiElement); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGrAccessorProcessor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGrAccessorProcessor.java index 050f61cd91f8..fbeb0cb4e4d9 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGrAccessorProcessor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGrAccessorProcessor.java @@ -24,6 +24,7 @@ import com.intellij.refactoring.rename.RenameJavaMethodProcessor; import com.intellij.usageView.UsageInfo; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrAccessorMethod; import org.jetbrains.plugins.groovy.lang.psi.util.GroovyPropertyUtils; @@ -46,7 +47,7 @@ public class RenameGrAccessorProcessor extends RenameJavaMethodProcessor { public void renameElement(PsiElement psiElement, String newName, UsageInfo[] usages, - RefactoringElementListener listener) throws IncorrectOperationException { + @Nullable RefactoringElementListener listener) throws IncorrectOperationException { } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGrFieldProcessor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGrFieldProcessor.java index 618cec44e1e6..68c1149037ed 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGrFieldProcessor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGrFieldProcessor.java @@ -33,6 +33,7 @@ import com.intellij.util.containers.MultiMap; import com.intellij.util.containers.hash.HashMap; import com.intellij.util.containers.hash.LinkedHashMap; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.GrReferenceAdjuster; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElementFactory; import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; @@ -84,7 +85,7 @@ public class RenameGrFieldProcessor extends RenameJavaVariableProcessor { public void renameElement(final PsiElement psiElement, String newName, final UsageInfo[] usages, - final RefactoringElementListener listener) throws IncorrectOperationException { + @Nullable RefactoringElementListener listener) throws IncorrectOperationException { final GrField field = (GrField)psiElement; String fieldName = field.getName(); Map renames = new HashMap(); @@ -164,7 +165,9 @@ public class RenameGrFieldProcessor extends RenameJavaVariableProcessor { rename(element, info, newName, true, manager); } } - listener.elementRenamed(field); + if (listener != null) { + listener.elementRenamed(field); + } } private static void rename(PsiNamedElement element, diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGroovyPropertyProcessor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGroovyPropertyProcessor.java index b9600b86fe9c..228bb57490b8 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGroovyPropertyProcessor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGroovyPropertyProcessor.java @@ -23,6 +23,7 @@ import com.intellij.refactoring.rename.RenamePsiElementProcessor; import com.intellij.usageView.UsageInfo; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrField; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; import org.jetbrains.plugins.groovy.lang.psi.util.GroovyPropertyUtils; @@ -57,7 +58,7 @@ public class RenameGroovyPropertyProcessor extends RenamePsiElementProcessor { } @Override - public void renameElement(PsiElement element, String newName, UsageInfo[] usages, RefactoringElementListener listener) + public void renameElement(PsiElement element, String newName, UsageInfo[] usages, @Nullable RefactoringElementListener listener) throws IncorrectOperationException { //do nothing diff --git a/xml/impl/src/com/intellij/refactoring/rename/RenameXmlAttributeProcessor.java b/xml/impl/src/com/intellij/refactoring/rename/RenameXmlAttributeProcessor.java index 1b8c15d59d58..1f7885b4d913 100644 --- a/xml/impl/src/com/intellij/refactoring/rename/RenameXmlAttributeProcessor.java +++ b/xml/impl/src/com/intellij/refactoring/rename/RenameXmlAttributeProcessor.java @@ -30,6 +30,7 @@ import com.intellij.usageView.UsageInfo; import com.intellij.util.IncorrectOperationException; import com.intellij.util.containers.Queue; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class RenameXmlAttributeProcessor extends RenamePsiElementProcessor { private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.rename.RenameXmlAttributeProcessor"); @@ -41,7 +42,7 @@ public class RenameXmlAttributeProcessor extends RenamePsiElementProcessor { public void renameElement(final PsiElement element, final String newName, final UsageInfo[] usages, - final RefactoringElementListener listener) throws IncorrectOperationException { + @Nullable RefactoringElementListener listener) throws IncorrectOperationException { if (element instanceof XmlAttribute) { doRenameXmlAttribute((XmlAttribute)element, newName, listener); } @@ -52,10 +53,12 @@ public class RenameXmlAttributeProcessor extends RenamePsiElementProcessor { private static void doRenameXmlAttribute(XmlAttribute attribute, String newName, - RefactoringElementListener listener) { + @Nullable RefactoringElementListener listener) { try { final PsiElement element = attribute.setName(newName); - listener.elementRenamed(element); + if (listener != null) { + listener.elementRenamed(element); + } } catch (IncorrectOperationException e) { LOG.error(e); @@ -65,7 +68,7 @@ public class RenameXmlAttributeProcessor extends RenamePsiElementProcessor { private static void doRenameXmlAttributeValue(@NotNull XmlAttributeValue value, String newName, UsageInfo[] infos, - RefactoringElementListener listener) + @Nullable RefactoringElementListener listener) throws IncorrectOperationException { LOG.assertTrue(value.isValid()); @@ -75,7 +78,9 @@ public class RenameXmlAttributeProcessor extends RenamePsiElementProcessor { LOG.assertTrue(psiManager != null); XmlFile file = (XmlFile)PsiFileFactory.getInstance(psiManager.getProject()).createFileFromText("dummy.xml", ""); final PsiElement element = value.replace(file.getDocument().getRootTag().getAttributes()[0].getValueElement()); - listener.elementRenamed(element); + if (listener != null) { + listener.elementRenamed(element); + } } private static void renameAll(PsiElement originalElement, UsageInfo[] infos, String newName,