diff options
Diffstat (limited to 'java/java-impl/src/com/intellij/ide/util/scopeChooser/ClassHierarchyScopeDescriptor.java')
-rw-r--r-- | java/java-impl/src/com/intellij/ide/util/scopeChooser/ClassHierarchyScopeDescriptor.java | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/java/java-impl/src/com/intellij/ide/util/scopeChooser/ClassHierarchyScopeDescriptor.java b/java/java-impl/src/com/intellij/ide/util/scopeChooser/ClassHierarchyScopeDescriptor.java index 356933823226..05b2578e5df1 100644 --- a/java/java-impl/src/com/intellij/ide/util/scopeChooser/ClassHierarchyScopeDescriptor.java +++ b/java/java-impl/src/com/intellij/ide/util/scopeChooser/ClassHierarchyScopeDescriptor.java @@ -69,23 +69,25 @@ public class ClassHierarchyScopeDescriptor extends ScopeDescriptor { chooser.showDialog(); PsiClass aClass = chooser.getSelected(); - if (aClass == null) return null; + if (aClass == null) { + myCachedScope = GlobalSearchScope.EMPTY_SCOPE; + } else { + final List<PsiElement> classesToSearch = new LinkedList<PsiElement>(); + classesToSearch.add(aClass); - final List<PsiElement> classesToSearch = new LinkedList<PsiElement>(); - classesToSearch.add(aClass); + classesToSearch.addAll(ClassInheritorsSearch.search(aClass, true).findAll()); - classesToSearch.addAll(ClassInheritorsSearch.search(aClass, true).findAll()); + FunctionalExpressionSearch.search(aClass).forEach(new Processor<PsiFunctionalExpression>() { + @Override + public boolean process(PsiFunctionalExpression expression) { + classesToSearch.add(expression); + return true; + } + }); - FunctionalExpressionSearch.search(aClass).forEach(new Processor<PsiFunctionalExpression>() { - @Override - public boolean process(PsiFunctionalExpression expression) { - classesToSearch.add(expression); - return true; - } - }); - - myCachedScope = new LocalSearchScope(PsiUtilCore.toPsiElementArray(classesToSearch), - IdeBundle.message("scope.hierarchy", ClassPresentationUtil.getNameForClass(aClass, true))); + myCachedScope = new LocalSearchScope(PsiUtilCore.toPsiElementArray(classesToSearch), + IdeBundle.message("scope.hierarchy", ClassPresentationUtil.getNameForClass(aClass, true))); + } } return myCachedScope; |