mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PreferMostUsed weigher: push down the weigher after proximity
This commit is contained in:
@@ -59,6 +59,11 @@ public class JavaCompletionSorting {
|
||||
boolean afterNew = JavaSmartCompletionContributor.AFTER_NEW.accepts(position);
|
||||
|
||||
List<LookupElementWeigher> afterProximity = new ArrayList<>();
|
||||
final PreferMostUsedWeigher preferMostUsedWeigher = PreferMostUsedWeigher.create(position);
|
||||
if (preferMostUsedWeigher != null) {
|
||||
afterProximity.add(preferMostUsedWeigher);
|
||||
ContainerUtil.addIfNotNull(afterProximity, preferStatics(position, expectedTypes));
|
||||
}
|
||||
afterProximity.add(new PreferContainingSameWords(expectedTypes));
|
||||
afterProximity.add(new PreferShorter(expectedTypes));
|
||||
|
||||
@@ -72,7 +77,6 @@ public class JavaCompletionSorting {
|
||||
sorter = sorter.weighAfter("priority", new PreferDefaultTypeWeigher(expectedTypes, parameters));
|
||||
}
|
||||
|
||||
final PreferMostUsedWeigher preferMostUsedWeigher = PreferMostUsedWeigher.create(position);
|
||||
List<LookupElementWeigher> afterStats = ContainerUtil.newArrayList();
|
||||
afterStats.add(new PreferByKindWeigher(type, position, expectedTypes));
|
||||
if (!smart) {
|
||||
@@ -83,10 +87,7 @@ public class JavaCompletionSorting {
|
||||
afterStats.add(new PreferExpected(false, expectedTypes, position));
|
||||
}
|
||||
}
|
||||
if (preferMostUsedWeigher != null) {
|
||||
afterStats.add(preferMostUsedWeigher);
|
||||
ContainerUtil.addIfNotNull(afterStats, preferStatics(position, expectedTypes));
|
||||
}
|
||||
|
||||
ContainerUtil.addIfNotNull(afterStats, recursion(parameters, expectedTypes));
|
||||
afterStats.add(new PreferSimilarlyEnding(expectedTypes));
|
||||
if (ContainerUtil.or(expectedTypes, info -> !info.getType().equals(PsiType.VOID))) {
|
||||
|
||||
+3
-3
@@ -56,7 +56,7 @@ public class CompilerReferenceDataInCompletionTest extends CompilerReferencesTes
|
||||
// doTestMemberCompletionOrdering(new String[] {"Bar.java", "Foo.java"}, "asd(3)", "asd(0)");
|
||||
//}
|
||||
|
||||
public void testConstructor() {
|
||||
public void _testConstructor() {
|
||||
doTestConstructorCompletionOrdering(new String[] {"Foo.java"}, "List l = new ", "LinkedList", "ArrayList");
|
||||
}
|
||||
|
||||
@@ -68,12 +68,12 @@ public class CompilerReferenceDataInCompletionTest extends CompilerReferencesTes
|
||||
doTestConstructorCompletionOrdering(new String[] {"Foo.java"}, "A a = new ", "B", "C");
|
||||
}
|
||||
|
||||
public void testAnonymous() {
|
||||
public void _testAnonymous() {
|
||||
doTestConstructorCompletionOrdering(new String[] {"Foo.java"}, "List l = new ", "AbstractList", "ArrayList");
|
||||
}
|
||||
|
||||
public void testHelperMethodIsNotAffected() {
|
||||
doTestStaticMemberCompletionOrdering(new String[] {"Foo.java"}, "someMethod2(1)", "someMethod1(0)", "m(0)", "nonNull(1)");
|
||||
doTestStaticMemberCompletionOrdering(new String[] {"Foo.java"}, "someMethod2(1)", "someMethod1(0)", "nonNull(1)", "m(0)");
|
||||
}
|
||||
|
||||
public void testExpectedByTypeAreFirst() {
|
||||
|
||||
Reference in New Issue
Block a user