summaryrefslogtreecommitdiff
path: root/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java')
-rw-r--r--java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java b/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java
index 3fd1161bb0ed..1791fd0d6e8e 100644
--- a/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java
+++ b/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java
@@ -220,9 +220,10 @@ public class JavaFindUsagesHandler extends FindUsagesHandler{
}
@Override
- protected Set<String> getStringsToSearch(final PsiElement element) {
+ protected Set<String> getStringsToSearch(@NotNull final PsiElement element) {
if (element instanceof PsiDirectory) { // normalize a directory to a corresponding package
- return getStringsToSearch(JavaDirectoryService.getInstance().getPackage((PsiDirectory)element));
+ PsiPackage aPackage = JavaDirectoryService.getInstance().getPackage((PsiDirectory)element);
+ return aPackage == null ? Collections.<String>emptySet() : getStringsToSearch(aPackage);
}
final Set<String> result = new HashSet<String>();
@@ -264,7 +265,8 @@ public class JavaFindUsagesHandler extends FindUsagesHandler{
}
else if (element instanceof XmlAttributeValue) {
ContainerUtil.addIfNotNull(result, ((XmlAttributeValue)element).getValue());
- } else {
+ }
+ else {
LOG.error("Unknown element type: " + element);
}
}
@@ -306,7 +308,7 @@ public class JavaFindUsagesHandler extends FindUsagesHandler{
@Override
public Boolean compute() {
if (ThrowSearchUtil.isSearchable (element) && options instanceof JavaThrowFindUsagesOptions && options.isUsages) {
- ThrowSearchUtil.Root root = options.getUserData(ThrowSearchUtil.THROW_SEARCH_ROOT_KEY);
+ ThrowSearchUtil.Root root = ((JavaThrowFindUsagesOptions)options).getRoot();
if (root == null) {
final ThrowSearchUtil.Root[] roots = ThrowSearchUtil.getSearchRoots(element);
if (roots != null && roots.length > 0) {
@@ -346,6 +348,9 @@ public class JavaFindUsagesHandler extends FindUsagesHandler{
}
else if (classOptions.isImplementingClasses){
if (!addImplementingClasses(psiClass, processor, classOptions)) return false;
+ }
+
+ if (classOptions.isImplementingClasses) {
FunctionalExpressionSearch.search(psiClass, classOptions.searchScope).forEach(new PsiElementProcessorAdapter<PsiFunctionalExpression>(
new PsiElementProcessor<PsiFunctionalExpression>() {
@Override
@@ -755,6 +760,7 @@ public class JavaFindUsagesHandler extends FindUsagesHandler{
}
+ @NotNull
@Override
public Collection<PsiReference> findReferencesToHighlight(@NotNull final PsiElement target, @NotNull final SearchScope searchScope) {
if (target instanceof PsiMethod) {