anchor.diff:          // Analyze a general file.
           if (_filesToAnalyze.isNotEmpty) {
             String path = _removeFirst(_filesToAnalyze);
  -          _File file = _fileForPath(path);
  -          AnalysisResult result = _computeAnalysisResult(file, withUnit: false);
  +          AnalysisResult result = _computeAnalysisResult(path, withUnit: false);
             yield result;
             // Repeat the processing loop.
             _hasWork.notify();
  
positive.code:       unlinked = new PackageBundle.fromBuffer(bytes);
        driver._fileApiSignatureMap[path] = unlinked.apiSignature;
      }
      // Update the current file state.
      return new _File._(driver, source, content, contentHash, unlinked, unit);
    }
  
  
negative.code:       String oldSignature = _fileApiSignatureMap[path];
        // Compute the new API signature.
        // _File.forResolution() also updates the content hash in the cache.
        Source source = _sourceForPath(path);
        _File newFile = new _File.forResolution(this, source);
        String newSignature = newFile.unlinked.apiSignature;
        // If the old API signature is not null, then the file was used to
        // compute at least one dependency signature. If the new API signature
  