From 4ce6e7c0dfa6f547da20475166c8fdd3a2bbe766 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 12 Jul 2017 19:38:05 +0200 Subject: [PATCH] IDEA-175681 Duplicate "void" suggestion --- .../codeInsight/completion/MethodReturnTypeProvider.java | 2 +- .../normal/NoExpectedVoidReturnTypeDuplication.java | 5 +++++ .../java/codeInsight/completion/NormalCompletionTest.groovy | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/completion/normal/NoExpectedVoidReturnTypeDuplication.java diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/MethodReturnTypeProvider.java b/java/java-impl/src/com/intellij/codeInsight/completion/MethodReturnTypeProvider.java index 5ced3d698974..971f8d889320 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/MethodReturnTypeProvider.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/MethodReturnTypeProvider.java @@ -60,7 +60,7 @@ class MethodReturnTypeProvider extends CompletionProvider @Nullable @Override public PsiType visitType(PsiType type) { - if (myProcessed.add(type)) { + if (!(type instanceof PsiPrimitiveType) && myProcessed.add(type)) { int priority = type.equalsToText(CommonClassNames.JAVA_LANG_OBJECT) ? 1 : 1000 - myProcessed.size(); consumer.consume(PrioritizedLookupElement.withPriority(PsiTypeLookupItem.createLookupItem(type, position), priority)); } diff --git a/java/java-tests/testData/codeInsight/completion/normal/NoExpectedVoidReturnTypeDuplication.java b/java/java-tests/testData/codeInsight/completion/normal/NoExpectedVoidReturnTypeDuplication.java new file mode 100644 index 000000000000..3b70d91b116f --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/NoExpectedVoidReturnTypeDuplication.java @@ -0,0 +1,5 @@ +class Foo { + void foo() { + return; + } +} \ 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 e92c78507287..3abd2aaaa5e3 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 @@ -678,6 +678,10 @@ public class ListUtils { configure() assert myFixture.lookupElementStrings == ['boolean', 'byte'] } + void testNoExpectedVoidReturnTypeDuplication() { + configure() + assert myFixture.lookupElementStrings == ['void'] + } void testMethodReturnType() throws Throwable { doTest()