diff --git a/java/java-impl/src/com/intellij/refactoring/extractInterface/ExtractClassUtil.java b/java/java-impl/src/com/intellij/refactoring/extractInterface/ExtractClassUtil.java index 30f6d3491c6b..0eb37aeefb77 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractInterface/ExtractClassUtil.java +++ b/java/java-impl/src/com/intellij/refactoring/extractInterface/ExtractClassUtil.java @@ -19,7 +19,6 @@ import com.intellij.openapi.application.ApplicationNamesInfo; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; -import com.intellij.psi.SmartPointerManager; import com.intellij.psi.SmartPsiElementPointer; import com.intellij.refactoring.JavaRefactoringSettings; import com.intellij.refactoring.RefactoringBundle; @@ -30,9 +29,9 @@ import com.intellij.refactoring.ui.YesNoPreviewUsagesDialog; * @author dsl */ public class ExtractClassUtil { - public static void askAndTurnRefsToSuper(final Project project, PsiClass aClass, final PsiClass aSuperClass) { - final SmartPsiElementPointer classPointer = SmartPointerManager.getInstance(project).createSmartPsiElementPointer(aClass); - final SmartPsiElementPointer interfacePointer = SmartPointerManager.getInstance(project).createSmartPsiElementPointer(aSuperClass); + public static void askAndTurnRefsToSuper(final Project project, + final SmartPsiElementPointer classPointer, + final SmartPsiElementPointer interfacePointer) { final PsiElement classElement = classPointer.getElement(); final PsiElement interfaceElement = interfacePointer.getElement(); if (classElement instanceof PsiClass && classElement.isValid() && interfaceElement instanceof PsiClass && interfaceElement.isValid()) { diff --git a/java/java-impl/src/com/intellij/refactoring/extractInterface/ExtractInterfaceHandler.java b/java/java-impl/src/com/intellij/refactoring/extractInterface/ExtractInterfaceHandler.java index e7d3af4cc3bd..1e2448ef1a5c 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractInterface/ExtractInterfaceHandler.java +++ b/java/java-impl/src/com/intellij/refactoring/extractInterface/ExtractInterfaceHandler.java @@ -122,10 +122,12 @@ public class ExtractInterfaceHandler implements RefactoringActionHandler, Elemen } if (anInterface != null) { + final SmartPsiElementPointer classPointer = SmartPointerManager.getInstance(myProject).createSmartPsiElementPointer(myClass); + final SmartPsiElementPointer interfacePointer = SmartPointerManager.getInstance(myProject).createSmartPsiElementPointer(anInterface); final Runnable turnRefsToSuperRunnable = new Runnable() { @Override public void run() { - ExtractClassUtil.askAndTurnRefsToSuper(myProject, myClass, anInterface); + ExtractClassUtil.askAndTurnRefsToSuper(myProject, classPointer, interfacePointer); } }; SwingUtilities.invokeLater(turnRefsToSuperRunnable); diff --git a/java/java-impl/src/com/intellij/refactoring/extractSuperclass/ExtractSuperclassHandler.java b/java/java-impl/src/com/intellij/refactoring/extractSuperclass/ExtractSuperclassHandler.java index dd5641512568..4352e96f4683 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractSuperclass/ExtractSuperclassHandler.java +++ b/java/java-impl/src/com/intellij/refactoring/extractSuperclass/ExtractSuperclassHandler.java @@ -165,9 +165,11 @@ public class ExtractSuperclassHandler implements RefactoringActionHandler, Extra // ask whether to search references to subclass and turn them into refs to superclass if possible if (superclass != null) { + final SmartPsiElementPointer classPointer = SmartPointerManager.getInstance(project).createSmartPsiElementPointer(subclass); + final SmartPsiElementPointer interfacePointer = SmartPointerManager.getInstance(project).createSmartPsiElementPointer(superclass); final Runnable turnRefsToSuperRunnable = new Runnable() { public void run() { - ExtractClassUtil.askAndTurnRefsToSuper(project, subclass, superclass); + ExtractClassUtil.askAndTurnRefsToSuper(project, classPointer, interfacePointer); } }; SwingUtilities.invokeLater(turnRefsToSuperRunnable);