@@ -175,6 +175,7 @@ enum CompletionGroup {
175175 staticMember,
176176 typeReference,
177177 localReference,
178+ paramReference,
178179 topLevel
179180}
180181
@@ -222,6 +223,9 @@ class CompletionMetrics {
222223 MeanReciprocalRankComputer localRefMrrComputer =
223224 MeanReciprocalRankComputer ('local reference completions' );
224225
226+ MeanReciprocalRankComputer paramRefMrrComputer =
227+ MeanReciprocalRankComputer ('param reference completions' );
228+
225229 MeanReciprocalRankComputer topLevelMrrComputer =
226230 MeanReciprocalRankComputer ('non-type member completions' );
227231
@@ -259,6 +263,10 @@ class CompletionMetrics {
259263 /// (worst) ranks for completing to local references.
260264 List <CompletionResult > localRefWorstResults = [];
261265
266+ /// A list of the top [maxWorstResults] completion results with the highest
267+ /// (worst) ranks for completing to parameter references.
268+ List <CompletionResult > paramRefWorstResults = [];
269+
262270 /// A list of the top [maxWorstResults] completion results with the highest
263271 /// (worst) ranks for completing to top-level declarations.
264272 List <CompletionResult > topLevelWorstResults = [];
@@ -279,6 +287,10 @@ class CompletionMetrics {
279287 /// longest top compute for local references.
280288 List <CompletionResult > localRefSlowestResults = [];
281289
290+ /// A list of the top [maxSlowestResults] completion results that took the
291+ /// longest top compute for parameter references.
292+ List <CompletionResult > paramRefSlowestResults = [];
293+
282294 /// A list of the top [maxSlowestResults] completion results that took the
283295 /// longest top compute for top-level declarations.
284296 List <CompletionResult > topLevelSlowestResults = [];
@@ -328,7 +340,9 @@ class CompletionMetrics {
328340 case CompletionGroup .localReference:
329341 localRefMrrComputer.addRank (rank);
330342 break ;
331-
343+ case CompletionGroup .paramReference:
344+ paramRefMrrComputer.addRank (rank);
345+ break ;
332346 case CompletionGroup .topLevel:
333347 topLevelMrrComputer.addRank (rank);
334348 break ;
@@ -355,6 +369,8 @@ class CompletionMetrics {
355369 return typeRefSlowestResults;
356370 case CompletionGroup .localReference:
357371 return localRefSlowestResults;
372+ case CompletionGroup .paramReference:
373+ return paramRefSlowestResults;
358374 case CompletionGroup .topLevel:
359375 return topLevelSlowestResults;
360376 }
@@ -389,6 +405,8 @@ class CompletionMetrics {
389405 return typeRefWorstResults;
390406 case CompletionGroup .localReference:
391407 return localRefWorstResults;
408+ case CompletionGroup .paramReference:
409+ return paramRefWorstResults;
392410 case CompletionGroup .topLevel:
393411 return topLevelWorstResults;
394412 }
@@ -563,6 +581,9 @@ class CompletionMetricsComputer {
563581 metrics.localRefMrrComputer.printMean ();
564582 print ('' );
565583
584+ metrics.paramRefMrrComputer.printMean ();
585+ print ('' );
586+
566587 metrics.topLevelMrrComputer.printMean ();
567588 print ('' );
568589
@@ -639,6 +660,8 @@ class CompletionMetricsComputer {
639660 _printSlowestResults ('Static members' , metrics.staticMemberSlowestResults);
640661 _printSlowestResults ('Type references' , metrics.typeRefSlowestResults);
641662 _printSlowestResults ('Local references' , metrics.localRefSlowestResults);
663+ _printSlowestResults (
664+ 'Parameter references' , metrics.paramRefSlowestResults);
642665 _printSlowestResults ('Top level' , metrics.topLevelSlowestResults);
643666 }
644667
@@ -650,6 +673,7 @@ class CompletionMetricsComputer {
650673 _printWorstResults ('Static members' , metrics.staticMemberWorstResults);
651674 _printWorstResults ('Type references' , metrics.topLevelWorstResults);
652675 _printWorstResults ('Local references' , metrics.localRefWorstResults);
676+ _printWorstResults ('Parameter references' , metrics.paramRefWorstResults);
653677 _printWorstResults ('Top level' , metrics.topLevelWorstResults);
654678 }
655679
@@ -1090,6 +1114,8 @@ class CompletionResult {
10901114 return CompletionGroup .typeReference;
10911115 } else if (expectedCompletion.elementKind == ElementKind .LOCAL_VARIABLE ) {
10921116 return CompletionGroup .localReference;
1117+ } else if (expectedCompletion.elementKind == ElementKind .PARAMETER ) {
1118+ return CompletionGroup .paramReference;
10931119 }
10941120 }
10951121 return CompletionGroup .topLevel;
0 commit comments