diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ImportClassFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ImportClassFix.java index d5433a07222a..fa2499aba022 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ImportClassFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ImportClassFix.java @@ -107,6 +107,7 @@ public class ImportClassFix extends ImportClassFixBase isAccessible(aClass, myElement)); + PsiManager manager = myElement.getManager(); + classList.removeIf(aClass -> (anyAccessibleFound || !manager.isInProject(aClass)) && !isAccessible(aClass, myElement)); + if (acceptWrongNumberOfTypeParams && referenceHasTypeParameters) { final List candidates = new ArrayList<>(); for (Iterator iterator = classList.iterator(); iterator.hasNext(); ) { diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/intention/AddImportActionTest.groovy b/java/java-tests/testSrc/com/intellij/java/codeInsight/intention/AddImportActionTest.groovy index 7b778d8abfda..6a3621aed2d5 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/intention/AddImportActionTest.groovy +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/intention/AddImportActionTest.groovy @@ -670,4 +670,14 @@ class Foo { ''' assert myFixture.filterAvailableIntentions("Import class").empty } + + void "test inaccessible class from the project"() { + myFixture.addClass('package foo; class Foo {}') + myFixture.configureByText 'a.java', ''' +class Bar { + Foo abc; +} +''' + assert !myFixture.filterAvailableIntentions("Import class").empty + } }