From b2ebc6776bc5ad77645e29441c0625d4af0e798c Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 14 May 2010 13:41:48 +0400 Subject: [PATCH] inline superclass should not inline throught hierarchy (IDEA-54908) --- .../InlineSuperClassRefactoringHandler.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/java/java-impl/src/com/intellij/refactoring/inlineSuperClass/InlineSuperClassRefactoringHandler.java b/java/java-impl/src/com/intellij/refactoring/inlineSuperClass/InlineSuperClassRefactoringHandler.java index 94e363faeae0..496898353c8a 100644 --- a/java/java-impl/src/com/intellij/refactoring/inlineSuperClass/InlineSuperClassRefactoringHandler.java +++ b/java/java-impl/src/com/intellij/refactoring/inlineSuperClass/InlineSuperClassRefactoringHandler.java @@ -26,8 +26,7 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.PsiAnonymousClass; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiFile; -import com.intellij.psi.search.searches.ClassInheritorsSearch; +import com.intellij.psi.search.searches.DirectClassInheritorsSearch; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.refactoring.inline.JavaInlineActionHandler; import com.intellij.refactoring.util.CommonRefactoringUtil; @@ -45,13 +44,13 @@ public class InlineSuperClassRefactoringHandler extends JavaInlineActionHandler public boolean canInlineElement(PsiElement element) { if (!(element instanceof PsiClass)) return false; if (element.getLanguage() != StdLanguages.JAVA) return false; - Collection inheritors = ClassInheritorsSearch.search((PsiClass)element).findAll(); + Collection inheritors = DirectClassInheritorsSearch.search((PsiClass)element).findAll(); return inheritors.size() > 0; } public void inlineElement(final Project project, final Editor editor, final PsiElement element) { PsiClass superClass = (PsiClass) element; - Collection inheritors = ClassInheritorsSearch.search((PsiClass)element).findAll(); + Collection inheritors = DirectClassInheritorsSearch.search((PsiClass)element).findAll(); if (!superClass.getManager().isInProject(superClass)) { CommonRefactoringUtil.showErrorHint(project, editor, "Cannot inline non-project class", REFACTORING_NAME, null); return;