anchor.diff:    /// file offset.
     final _testedFeaturesState = <Uri, Map<int, Set<String>>>{};
   
  +  /// Map from file URI to a sorted list of token offsets for that file.
  +  final _tokenOffsets = <Uri, List<int>>{};
  +
     /// String descriptions of the expectation mismatches found so far.
     final _problems = <String>[];
   
  
positive.code:     var bytes = await readBytesFromFile(uri);
      var expectations = _unsatisfiedExpectations.putIfAbsent(uri, () => {});
      var testedFeaturesState = _testedFeaturesState.putIfAbsent(uri, () => {});
      ScannerResult result = scan(bytes, includeComments: true);
      for (Token token = result.tokens; !token.isEof; token = token.next) {
        for (analyzer.Token commentToken = token.precedingComments;
            commentToken != null;
            commentToken = commentToken.next) {
  
negative.code:     }
      var expectationsForUri = _unsatisfiedExpectations[uri];
      if (expectationsForUri == null) return;
      offset = _normalizeOffset(offset, _tokenOffsets[uri]);
      var expectationsAtOffset = expectationsForUri[offset];
      if (expectationsAtOffset != null) {
        for (int i = 0; i < expectationsAtOffset.length; i++) {
  