anchor.diff:        visiting.add(buildStep.readAsString(assetId).then((contents) {
           var source = sources[assetId];
           if (source == null) {
  -          source = new AssetBasedSource(assetId, this);
  +          source = new AssetBasedSource(assetId);
             sources[assetId] = source;
           }
           source.updateDependencies(contents);
  
positive.code:   /// The file contents.
    String _contents;
  
    AssetBasedSource(this.assetId, this._resolver);
  
    /// Update the dependencies of this source. This parses [contents] but avoids
    /// any analyzer resolution.
  
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;
  
  