From 5d885e722153f049ea837649e73c9df7973fb004 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 18 Feb 2013 15:25:22 +0100 Subject: [PATCH] in completion usage recency, less is better --- .../completion/normalSorting/HonorRecency.java | 11 +++++++++++ .../NormalCompletionOrderingTest.groovy | 17 +++++++++++++++++ .../statistics/impl/StatisticsManagerImpl.java | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/completion/normalSorting/HonorRecency.java diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/HonorRecency.java b/java/java-tests/testData/codeInsight/completion/normalSorting/HonorRecency.java new file mode 100644 index 000000000000..19634e042dcf --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normalSorting/HonorRecency.java @@ -0,0 +1,11 @@ +public class Foo { + + void foo(Zoo z) { + z. + } +} + +class Zoo { + void setText() {} + void setOurText() {} +} \ No newline at end of file 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 d603bf277968..d9fa374fbe7e 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionOrderingTest.groovy @@ -579,4 +579,21 @@ import java.lang.annotation.Target; assertPreferredItems 0, 'psiElement', 'PsiElement' } + public void testHonorRecency() { + invokeCompletion(getTestName(false) + ".java") + myFixture.completeBasic() + myFixture.type('setou\nz.') + + myFixture.completeBasic() + myFixture.type('set') + assertPreferredItems 0, 'setOurText', 'setText' + myFixture.type('te') + assertPreferredItems 0, 'setText', 'setOurText' + myFixture.type('\nz.') + + myFixture.completeBasic() + myFixture.type('set') + assertPreferredItems 0, 'setText', 'setOurText' + } + } diff --git a/platform/platform-impl/src/com/intellij/psi/statistics/impl/StatisticsManagerImpl.java b/platform/platform-impl/src/com/intellij/psi/statistics/impl/StatisticsManagerImpl.java index e489d4c3a0f5..9d28881403c2 100644 --- a/platform/platform-impl/src/com/intellij/psi/statistics/impl/StatisticsManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/psi/statistics/impl/StatisticsManagerImpl.java @@ -74,7 +74,7 @@ public class StatisticsManagerImpl extends StatisticsManager { int recency = Integer.MAX_VALUE; for (StatisticsInfo conjunct : info.getConjuncts()) { - recency = Math.max(doGetRecency(conjunct), recency); + recency = Math.min(doGetRecency(conjunct), recency); } return recency; }