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 {