postpone check for accessible to prevent access to another (lombok) index (IDEA-159135) [^peter]

This commit is contained in:
Anna.Kozlova
2016-11-23 11:53:29 +01:00
parent 76b697148c
commit 87d9169d09
@@ -29,8 +29,11 @@ import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
* @author peter
@@ -83,8 +86,7 @@ public class ReferenceChainLink {
List<PsiMember> candidates = new ArrayList<>();
AtomicInteger count = new AtomicInteger();
Processor<PsiMember> processor = member -> {
if (canBeAccessible(placeFile, member) && (!(member instanceof PsiMethod) ||
ApproximateResolver.canHaveArgCount((PsiMethod)member, argCount))) {
if (!(member instanceof PsiMethod && !ApproximateResolver.canHaveArgCount((PsiMethod)member, argCount))) {
candidates.add(member);
}
return count.incrementAndGet() < 42;
@@ -112,7 +114,7 @@ public class ReferenceChainLink {
return null;
}
return candidates;
return candidates.stream().filter(candidate -> canBeAccessible(placeFile, candidate)).collect(Collectors.toList());
}
private static boolean canBeAccessible(VirtualFile placeFile, PsiMember member) {