mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EA-33969 - assert: SmartPointerManagerImpl.createSmartPsiElementPointer
This commit is contained in:
@@ -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()) {
|
||||
|
||||
+3
-1
@@ -122,10 +122,12 @@ public class ExtractInterfaceHandler implements RefactoringActionHandler, Elemen
|
||||
}
|
||||
|
||||
if (anInterface != null) {
|
||||
final SmartPsiElementPointer<PsiClass> classPointer = SmartPointerManager.getInstance(myProject).createSmartPsiElementPointer(myClass);
|
||||
final SmartPsiElementPointer<PsiClass> 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);
|
||||
|
||||
+3
-1
@@ -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<PsiClass> classPointer = SmartPointerManager.getInstance(project).createSmartPsiElementPointer(subclass);
|
||||
final SmartPsiElementPointer<PsiClass> 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);
|
||||
|
||||
Reference in New Issue
Block a user