anchor.diff:    /// The file contents.
     String _contents;
   
  -  AssetBasedSource(this.assetId, this._resolver);
  +  AssetBasedSource(this.assetId);
   
     /// Update the dependencies of this source. This parses [contents] but avoids
     /// any analyzer resolution.
  
positive.code: 
    @override
    bool get isInSystemLibrary => false;
  
    Source resolveRelative(Uri relativeUri) {
      var id = _resolve(assetId, relativeUri.toString());
      if (id == null) return null;
  
      // The entire AST should have been parsed and loaded at this point.
      var source = _resolver.sources[id];
      if (source == null) {
        log.severe('Could not load asset $id');
      }
      return source;
    }
  
    Uri resolveRelativeUri(Uri relativeUri) {
      var id = _resolve(assetId, relativeUri.toString());
      if (id == null) return uri.resolveUri(relativeUri);
  
      // The entire AST should have been parsed and loaded at this point.
      var source = _resolver.sources[id];
      if (source == null) {
        log.severe('Could not load asset $id');
      }
      return source.uri;
    }
  }
  
  /// Implementation of Analyzer's UriResolver for Barback based assets.
  
negative.code:   /// Asset ID where this source can be found.
    final AssetId assetId;
  
    /// Cache of dependent asset IDs, to avoid re-parsing the AST.
    Iterable<AssetId> _dependentAssets;
  
  