From 1d2b7eaf232b70b3f959ca9ff40ba45f0799ec3c Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 3 Apr 2012 17:54:42 +0200 Subject: [PATCH] IDEA-84025 Non-public class in different package interferes with code completion --- .../intellij/codeInsight/completion/JavaCharFilter.java | 2 +- .../codeInsight/completion/JavaAutoPopupTest.groovy | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCharFilter.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCharFilter.java index 659473c9047c..eab5d4cc6698 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCharFilter.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCharFilter.java @@ -61,7 +61,7 @@ public class JavaCharFilter extends CharFilter { } } for (PsiClass aClass : PsiShortNamesCache.getInstance(file.getProject()).getClassesByName(prefix, file.getResolveScope())) { - if (!isObfuscated(aClass)) { + if (!isObfuscated(aClass) && PsiResolveHelper.SERVICE.getInstance(file.getProject()).isAccessible(aClass, file, null)) { return true; } } diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/completion/JavaAutoPopupTest.groovy b/java/java-tests/testSrc/com/intellij/codeInsight/completion/JavaAutoPopupTest.groovy index efb919cafd7e..4c3dd85e1af8 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/JavaAutoPopupTest.groovy +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/JavaAutoPopupTest.groovy @@ -1263,4 +1263,13 @@ class Foo { assert myFixture.file.text.contains('new File()') } + public void "test inaccessible class in another package shouldn't prevent choosing by space"() { + myFixture.addClass("package foo; class b {}") + myFixture.configureByText 'a.java', 'class Foo {{ }}' + type 'b' + assert lookup?.currentItem?.lookupString == 'boolean' + type ' ' + myFixture.checkResult 'class Foo {{ boolean }}' + } + }