diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionData.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionData.java index 6213f6ee341d..84ca60772759 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionData.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionData.java @@ -156,7 +156,7 @@ public class JavaCompletionData extends JavaAwareCompletionData{ public static final ElementPattern START_FOR = psiElement().afterLeaf(psiElement().withText("(").afterLeaf("for")).withParents(PsiJavaCodeReferenceElement.class, PsiExpressionStatement.class, PsiForStatement.class); private static final PsiJavaElementPattern.Capture CLASS_REFERENCE = - psiElement().withParent(psiElement().referencing(psiClass())); + psiElement().withParent(psiReferenceExpression().referencing(psiClass())); public JavaCompletionData(){ declareCompletionSpaces(); diff --git a/java/java-tests/testData/codeInsight/completion/normal/OnlyClassesInExtends.java b/java/java-tests/testData/codeInsight/completion/normal/OnlyClassesInExtends.java new file mode 100644 index 000000000000..e28ffbc45bb2 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/OnlyClassesInExtends.java @@ -0,0 +1,5 @@ +class Bar { + static class Inner {} +} + +public class Foooo extends Bar. diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy index 27b5ecd7591b..a90eaef34335 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy @@ -744,6 +744,11 @@ public class NormalCompletionTest extends LightFixtureCompletionTestCase { assertStringItems 'final', 'finalize' } + public void testOnlyClassesInExtends() throws Throwable { + configure() + assertStringItems 'Inner' + } + public void testPrimitiveTypesInForLoop() throws Throwable { doPrimitiveTypeTest() } public void testPrimitiveTypesInForLoop2() throws Throwable { doPrimitiveTypeTest() } public void testPrimitiveTypesInForLoop3() throws Throwable { doPrimitiveTypeTest() }