anchor.diff:  
     FileErrorSink(
         this.file,
  -      String contents,
  +      this.lineOffsets,
         this.markerType,
  -      this.markerSeverity)
  -      : this.lineOffsets = new StringLineOffsets(contents) {
  +      this.markerSeverity) {
       file.clearMarkers(markerType);
     }
   
  
positive.code: 
  import 'dart:async';
  
  import '../json/json_parser.dart';
  import '../json/json_validator.dart';
  import '../json/json_utils.dart';
  import '../builder.dart';
  import '../jobs.dart';
  import '../workspace.dart';
  import 'app_manifest_validator.dart';
  
  
negative.code:     // TODO(rpaquay): The work below should be performed in a [Service] to
      // avoid blocking UI.
      return file.getContents().then((String contents) {
        StringLineOffsets lineOffsets =
            new StringLineOffsets(contents);
        ErrorSink jsonErrorSink = new FileErrorSink(
            file,
            lineOffsets,
            appManifestProperties.jsonErrorMarkerType,
            appManifestProperties.jsonErrorMarkerSeverity);
        ErrorSink validationErrorSink = new FileErrorSink(
            file,
            lineOffsets,
            appManifestProperties.validationErrorMarkerType,
            appManifestProperties.validationErrorMarkerSeverity);
  
        try {
          // TODO(rpaquay): Should we report errors if the file is empty?
          if (contents.trim().isNotEmpty) {
            JsonValidatorListener listener = new JsonValidatorListener(
                jsonErrorSink, new AppManifestValidator(validationErrorSink));
            JsonParser parser = new JsonParser(contents, listener);
            parser.parse();
          }
  