anchor.diff:    }
     return Point(0, 0);
   }
  -
  -String _formatPercentToString(double percent, [fractionDigits = 1]) {
  -  return (percent * 100).toStringAsFixed(fractionDigits) + '%';
  -}
  
positive.code:         }
        }
      }
    }
    print('done $includedCount $notIncludedCount');
  
    final percentIncluded = includedCount / (includedCount + notIncludedCount);
    final percentNotIncluded =
        notIncludedCount / (includedCount + notIncludedCount);
    print(
        'done ${_formatPercentToString(percentIncluded)} ${_formatPercentToString(percentNotIncluded)}');
  }
  
  Point<int> _placementInSuggestionList(List<CompletionSuggestion> suggestions,
  
negative.code: 
  import 'visitors.dart';
  
  const bool doPrintExpectedCompletions = true;
  
  main() {
    var analysisRoots = [''];
    _computeCompletionMetrics(PhysicalResourceProvider.INSTANCE, analysisRoots);
  }
  
  /// TODO(jwren) put the following methods into a class
  Future _computeCompletionMetrics(
      ResourceProvider resourceProvider, List<String> analysisRoots) async {
    int includedCount = 0;
    int notIncludedCount = 0;
  
    for (var root in analysisRoots) {
      print('Analyzing root: $root');
      final collection = AnalysisContextCollection(
  