From 18839484a51620caaa666c211b01744b91922c96 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 29 Oct 2009 12:06:41 +0300 Subject: [PATCH] test --- .../impl/source/resolve/ClassResolverProcessor.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/psi/impl/source/resolve/ClassResolverProcessor.java b/java/java-impl/src/com/intellij/psi/impl/source/resolve/ClassResolverProcessor.java index e6a93bc62c45..d70ea89767bc 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/resolve/ClassResolverProcessor.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/resolve/ClassResolverProcessor.java @@ -106,6 +106,7 @@ public class ClassResolverProcessor extends BaseScopeProcessor implements NameHi if (!myClassName.equals(name)) { return true; } + boolean accessible = myPlace == null || checkAccessibility(aClass); if (myCandidates == null) { myCandidates = new SmartList(); } @@ -126,6 +127,15 @@ public class ClassResolverProcessor extends BaseScopeProcessor implements NameHi return true; } + boolean infoAccessible = info.isAccessible(); + if (infoAccessible && !accessible) { + return true; + } + if (!infoAccessible && accessible) { + myCandidates.remove(i); + continue; + } + // single import wins over on-demand boolean myOnDemand = isOnDemand(myCurrentFileContext, aClass); boolean otherOnDemand = isOnDemand(info.getCurrentFileResolveScope(), otherClass); @@ -137,7 +147,6 @@ public class ClassResolverProcessor extends BaseScopeProcessor implements NameHi } } - boolean accessible = myPlace == null || checkAccessibility(aClass); myHasAccessibleCandidate |= accessible; myHasInaccessibleCandidate |= !accessible; myCandidates.add(new ClassCandidateInfo(aClass, state.get(PsiSubstitutor.KEY), !accessible, myCurrentFileContext));