diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionStatistician.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionStatistician.java index d05c520a1a67..9d0b5d02e854 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionStatistician.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionStatistician.java @@ -62,17 +62,13 @@ public class JavaCompletionStatistician extends CompletionStatistician{ if (o instanceof PsiMember) { final boolean isClass = o instanceof PsiClass; if (qualifierType != null) { - if (type == CompletionType.SMART) { - String context; - if (isClass) { - context = JavaStatisticsManager.getAfterNewKey(qualifierType); - } else { - context = JavaStatisticsManager.getMemberUseKey1(qualifierType); - } - return new StatisticsInfo(context, JavaStatisticsManager.getMemberUseKey2((PsiMember)o)); + String context; + if (isClass) { + context = JavaStatisticsManager.getAfterNewKey(qualifierType); + } else { + context = JavaStatisticsManager.getMemberUseKey1(qualifierType); } - if (!isClass && type == CompletionType.BASIC) return JavaStatisticsManager.createInfo(qualifierType, (PsiMember)o); - return StatisticsInfo.EMPTY; + return new StatisticsInfo(context, JavaStatisticsManager.getMemberUseKey2((PsiMember)o)); } if (isClass) { diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy index ac6f6f3766ec..cdea5d74109c 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy @@ -8,11 +8,11 @@ package com.intellij.codeInsight.completion; import com.intellij.JavaTestUtil import com.intellij.codeInsight.CodeInsightSettings import com.intellij.codeInsight.lookup.LookupElement +import com.intellij.codeInsight.lookup.LookupElementPresentation import com.intellij.codeInsight.lookup.impl.LookupImpl import com.intellij.ide.ui.UISettings import com.intellij.psi.PsiClass import com.intellij.psi.PsiMethod -import com.intellij.codeInsight.lookup.LookupElementPresentation public class NormalCompletionOrderingTest extends CompletionSortingTestCase { private static final String BASE_PATH = "/codeInsight/completion/normalSorting"; @@ -318,4 +318,12 @@ public class NormalCompletionOrderingTest extends CompletionSortingTestCase { checkPreferredItems 0, 'serial', 'superExpressionInIllegalContext' } + public void testJComponentAddNewWithStats() throws Throwable { + final LookupImpl lookup = invokeCompletion("/../smartTypeSorting/JComponentAddNew.java"); + assertPreferredItems(0, "FooBean3", "JComponent", "Component"); + incUseCount(lookup, 2); //Component + assertPreferredItems(0, "Component", "FooBean3", "JComponent"); + } + + }