diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/java/FunExprOccurrence.java b/java/java-indexing-impl/src/com/intellij/psi/impl/java/FunExprOccurrence.java index 0fd75846a448..17ab1da64692 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/java/FunExprOccurrence.java +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/java/FunExprOccurrence.java @@ -105,15 +105,16 @@ public class FunExprOccurrence { Set qualifiers = null; for (int i = 0; i < referenceContext.size(); i++) { ReferenceChainLink link = referenceContext.get(i); - List candidates = i == 0 ? link.getGlobalMembers(placeFile, samClasses.get(0).getProject()) - : link.getSymbolMembers(qualifiers); - if (candidates == null) return true; + List candidates = qualifiers == null ? link.getGlobalMembers(placeFile, samClasses.get(0).getProject()) + : link.getSymbolMembers(qualifiers); + if (candidates == null) { + continue; + } if (i == referenceContext.size() - 1) { return ContainerUtil.exists(candidates, m -> isCompatible(link, m, samClasses)); } qualifiers = ApproximateResolver.getDefiniteSymbolTypes(candidates, qualifiers != null ? qualifiers : Collections.emptySet()); - if (qualifiers == null) return true; } return true;