From 2dc4ac2f2bb1d8fa683bf6c7cabb007ba80fc907 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 13 Jan 2014 19:40:35 +0100 Subject: [PATCH] IDEA-118551 Duplicated enum field in completion --- .../codeInsight/completion/JavaCompletionUtil.java | 2 +- .../normal/StaticallyImportedFieldsTwiceSwitch.java | 11 +++++++++++ .../StaticallyImportedFieldsTwiceSwitch_after.java | 11 +++++++++++ .../completion/NormalCompletionTest.groovy | 1 + 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/completion/normal/StaticallyImportedFieldsTwiceSwitch.java create mode 100644 java/java-tests/testData/codeInsight/completion/normal/StaticallyImportedFieldsTwiceSwitch_after.java diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java index c4af34a866e3..a5fd6071337d 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java @@ -379,7 +379,7 @@ public class JavaCompletionUtil { if (isInExcludedPackage((PsiMember)o, true)) { continue; } - mentioned.add((PsiMember)o); + mentioned.add(CompletionUtil.getOriginalOrSelf((PsiMember)o)); } set.add(highlightIfNeeded(qualifierType, castQualifier(item, castItem, plainQualifier, processor), o)); } diff --git a/java/java-tests/testData/codeInsight/completion/normal/StaticallyImportedFieldsTwiceSwitch.java b/java/java-tests/testData/codeInsight/completion/normal/StaticallyImportedFieldsTwiceSwitch.java new file mode 100644 index 000000000000..e1744f905c40 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/StaticallyImportedFieldsTwiceSwitch.java @@ -0,0 +1,11 @@ +import static C.A.*; +class C { + enum A {Abc} + + public static void main(A a) { + switch (a) { + case A + + } + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/normal/StaticallyImportedFieldsTwiceSwitch_after.java b/java/java-tests/testData/codeInsight/completion/normal/StaticallyImportedFieldsTwiceSwitch_after.java new file mode 100644 index 000000000000..e93b856717fd --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/StaticallyImportedFieldsTwiceSwitch_after.java @@ -0,0 +1,11 @@ +import static C.A.*; +class C { + enum A {Abc} + + public static void main(A a) { + switch (a) { + case Abc: + + } + } +} \ 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 ba7c4d2ad22e..999fddaa2eee 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy @@ -1143,6 +1143,7 @@ class XInternalError {} """) assertOneElement myFixture.completeBasic() } + public void testStaticallyImportedFieldsTwiceSwitch() { doTest() } public void testStatementKeywords() { myFixture.configureByText("a.java", """