Some incremental changes in the new relevance algorithm to improve the completion quality
Change-Id: I8a0a9e35c16bc497f54cd082241fa0b6d2cba7f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153065
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/feature_computer.dart b/pkg/analysis_server/lib/src/services/completion/dart/feature_computer.dart
index cb63a1b..6f1e545 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/feature_computer.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/feature_computer.dart
@@ -84,10 +84,10 @@
var totalWeight = 0.0;
for (var i = 0; i < values.length; i++) {
var value = values[i];
+ var weight = weights[i];
+ totalWeight += weight;
if (value >= 0.0) {
- var weight = weights[i];
totalValue += value * weight;
- totalWeight += weight;
}
}
if (totalWeight == 0.0) {
@@ -382,7 +382,7 @@
if (distance < 0) {
return -1.0;
}
- return math.pow(0.95, distance);
+ return math.pow(0.98, distance);
}
/// Return the inheritance distance between the [subclass] and the
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/suggestion_builder.dart b/pkg/analysis_server/lib/src/services/completion/dart/suggestion_builder.dart
index ad28caf..6e3ebea 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/suggestion_builder.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/suggestion_builder.dart
@@ -673,7 +673,7 @@
relevance = toRelevance(
weightedAverage(
[contextType, elementKind, isConstant, localVariableDistance],
- [1.0, 1.0, 1.0, 0.25]),
+ [1.0, 1.0, 1.0, 1.0]),
800);
listener?.computedFeatures(contextType: contextType);
} else {