diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionContributor.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionContributor.java index 3849178074df..4c6d7f5f15ac 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionContributor.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionContributor.java @@ -116,7 +116,8 @@ public class JavaCompletionContributor extends CompletionContributor { if (JavaKeywordCompletion.isDeclarationStart(position) || JavaKeywordCompletion.isInsideParameterList(position) || - isInsideAnnotationName(position)) { + isInsideAnnotationName(position) || + psiElement().inside(PsiReferenceParameterList.class).accepts(position)) { return new OrFilter(ElementClassFilter.CLASS, ElementClassFilter.PACKAGE); } @@ -143,10 +144,6 @@ public class JavaCompletionContributor extends CompletionContributor { return ElementClassFilter.CLASS; } - if (psiElement().inside(PsiReferenceParameterList.class).accepts(position)) { - return ElementClassFilter.CLASS; - } - if (psiElement().inside(PsiAnnotationParameterList.class).accepts(position)) { return createAnnotationFilter(position); } diff --git a/java/java-tests/testData/codeInsight/completion/normal/PackageInMemberTypeGeneric.java b/java/java-tests/testData/codeInsight/completion/normal/PackageInMemberTypeGeneric.java new file mode 100644 index 000000000000..0b9e717176c8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/PackageInMemberTypeGeneric.java @@ -0,0 +1,3 @@ +class Foo { + List> foo() {} +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/normal/PackageInMemberTypeGeneric_after.java b/java/java-tests/testData/codeInsight/completion/normal/PackageInMemberTypeGeneric_after.java new file mode 100644 index 000000000000..88249be7c9b4 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/PackageInMemberTypeGeneric_after.java @@ -0,0 +1,3 @@ +class Foo { + List> foo() {} +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/NormalCompletionTest.groovy b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/NormalCompletionTest.groovy index 656667b23842..5ed09357e4fa 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/NormalCompletionTest.groovy +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/NormalCompletionTest.groovy @@ -1351,6 +1351,7 @@ class XInternalError {} void testNoClosingWhenChoosingWithParenBeforeIdentifier() { doTest '(' } void testPackageInMemberType() { doTest() } + void testPackageInMemberTypeGeneric() { doTest() } void testConstantInAnno() { doTest('\n') }