summaryrefslogtreecommitdiff
path: root/java/java-impl/src/com/intellij/ide/util/scopeChooser/ClassHierarchyScopeDescriptor.java
diff options
context:
space:
mode:
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.java30
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;