anchor.diff:    CompilationUnit _parse(FileState file) {
       RecordingErrorListener errorListener = _getErrorListener(file);
   
  -    CharSequenceReader reader = new CharSequenceReader(file.content);
  +    String content = file.content;
  +
  +    CharSequenceReader reader = new CharSequenceReader(content);
       Scanner scanner = new Scanner(file.source, reader, errorListener);
       scanner.scanGenericMethodComments = _analysisOptions.strongMode;
       Token token = scanner.tokenize();
       LineInfo lineInfo = new LineInfo(scanner.lineStarts);
  +
  +    _fileToLineInfo[file] = lineInfo;
  +    _fileToIgnoreInfo[file] = IgnoreInfo.calculateIgnores(content, lineInfo);
   
       Parser parser = new Parser(file.source, errorListener);
       parser.parseGenericMethodComments = _analysisOptions.strongMode;
  
positive.code:     analysisContext.sourceFactory = _sourceFactory.clone();
      analysisContext.contentCache = new _ContentCacheWrapper(_fsState);
      this._context = analysisContext;
    }
  
    RecordingErrorListener _getErrorListener(FileState file) =>
  
negative.code:     Map<FileState, UnitAnalysisResult> results = {};
      units.forEach((file, unit) {
        List<AnalysisError> errors = _getErrorListener(file).errors;
        errors = _filterIgnoredErrors(file, errors);
        results[file] = new UnitAnalysisResult(file, unit, errors);
      });
      return results;
  