From 8d067ac17b6ca7e0776317de0246b5d90f06e42a Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 6 Feb 2012 11:56:51 +0100 Subject: [PATCH] IDEA-78375: do not suggest to turn refs to super when classes are invalid --- .../refactoring/extractInterface/ExtractClassUtil.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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 cac66668c83c..30f6d3491c6b 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractInterface/ExtractClassUtil.java +++ b/java/java-impl/src/com/intellij/refactoring/extractInterface/ExtractClassUtil.java @@ -15,15 +15,14 @@ */ package com.intellij.refactoring.extractInterface; -import com.intellij.openapi.application.ApplicationManager; 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.RefactoringBundle; import com.intellij.refactoring.JavaRefactoringSettings; +import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.turnRefsToSuper.TurnRefsToSuperProcessor; import com.intellij.refactoring.ui.YesNoPreviewUsagesDialog; @@ -36,7 +35,7 @@ public class ExtractClassUtil { final SmartPsiElementPointer interfacePointer = SmartPointerManager.getInstance(project).createSmartPsiElementPointer(aSuperClass); final PsiElement classElement = classPointer.getElement(); final PsiElement interfaceElement = interfacePointer.getElement(); - if (classElement instanceof PsiClass && interfaceElement instanceof PsiClass) { + if (classElement instanceof PsiClass && classElement.isValid() && interfaceElement instanceof PsiClass && interfaceElement.isValid()) { final PsiClass superClass = (PsiClass) interfaceElement; String superClassName = superClass.getName(); String className = ((PsiClass) classElement).getName(); @@ -56,7 +55,7 @@ public class ExtractClassUtil { final boolean isPreviewUsages = dialog.isPreviewUsages(); JavaRefactoringSettings.getInstance().EXTRACT_INTERFACE_PREVIEW_USAGES = isPreviewUsages; TurnRefsToSuperProcessor processor = - new TurnRefsToSuperProcessor(project, (PsiClass) classElement, (PsiClass) interfaceElement, true); + new TurnRefsToSuperProcessor(project, (PsiClass) classElement, superClass, true); processor.setPreviewUsages(isPreviewUsages); processor.run(); }