anchor.diff:      identifierLengths[length] = (identifierLengths[length] ?? 0) + 1;
     }
   
  +  /// Record that a data point for the percentage data with the given [name] was
  +  /// found. If [wasPositive] is `true` then the data point is a positive data
  +  /// point.
  +  void recordPercentage(String name, bool wasPositive) {
  +    var data = percentageData.putIfAbsent(name, () => _PercentageData());
  +    data.addDataPoint(wasPositive);
  +  }
  +
     /// Record information about the distance between recurring tokens.
     void recordTokenStream(int distance) {
       tokenDistances[distance] = (tokenDistances[distance] ?? 0) + 1;
  
positive.code: 
    @override
    void visitExtensionDeclaration(ExtensionDeclaration node) {
      _recordDataForNode('ExtensionDeclaration (type)', node.extendedType);
      for (var member in node.members) {
        _recordDataForNode('ExtensionDeclaration (member)', member,
  
negative.code:     count++;
    }
  }
  
  /// Information collected to compute a percentage of data points that were
  /// positive.
  class _PercentageData {
    /// The total number of data points.
    int total = 0;
  
    /// The total number of positive data points.
    int positive = 0;
  
    /// Initialize a newly created keeper of percentage data.
    _PercentageData();
  
    /// Add a data point to the data being collected. If [wasPositive] is `true`
    /// then the data point is a positive data point.
    void addDataPoint(bool wasPositive) {
      total++;
      if (wasPositive) {
        positive++;
      }
    }
  }
  