From a08f797fb3071a06e0bc94166086abad131f4b5e Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 6 Feb 2015 17:01:46 +0100 Subject: [PATCH] IDEA-135554 Suggestion for class variable are incorrect --- .../intellij/codeInsight/completion/JavaCompletionData.java | 2 +- .../normal/NothingAfterTypeParameterQualifier.java | 6 ++++++ .../codeInsight/completion/NormalCompletionTest.groovy | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/completion/normal/NothingAfterTypeParameterQualifier.java 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 77c6eb0d17cc..bede9bd170e5 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionData.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionData.java @@ -139,7 +139,7 @@ public class JavaCompletionData extends JavaAwareCompletionData { psiElement().afterLeaf(psiElement().withText("(").afterLeaf("for")).withParents(PsiJavaCodeReferenceElement.class, PsiExpressionStatement.class, PsiForStatement.class); private static final PsiJavaElementPattern.Capture CLASS_REFERENCE = - psiElement().withParent(psiReferenceExpression().referencing(psiClass())); + psiElement().withParent(psiReferenceExpression().referencing(psiClass().andNot(psiElement(PsiTypeParameter.class)))); private static final ElementPattern EXPR_KEYWORDS = and( psiElement().withParent(psiElement(PsiReferenceExpression.class).withParent( diff --git a/java/java-tests/testData/codeInsight/completion/normal/NothingAfterTypeParameterQualifier.java b/java/java-tests/testData/codeInsight/completion/normal/NothingAfterTypeParameterQualifier.java new file mode 100644 index 000000000000..1d321aa15d9d --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/NothingAfterTypeParameterQualifier.java @@ -0,0 +1,6 @@ +public class MyFirstTestClassFoo { + + public T getSomething(){ + Class klazz = T.; + } +} \ No newline at end of file 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 ad932fc86735..dd28f479f41c 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy @@ -675,6 +675,7 @@ public class ListUtils { } public void testNothingAfterNumericLiteral() throws Throwable { doAntiTest(); } + public void testNothingAfterTypeParameterQualifier() { doAntiTest(); } public void testSpacesAroundEq() throws Throwable { doTest('='); }