anchor.diff:        _content = driver._contentCache.getContents(source);
         _content ??= source.contents.data;
       } catch (_) {
  -      // TODO(scheglov) Fix the bug with not existing sources.
  -      // We should not put "self URI" into cached _ReferencedUris.
  -      // Otherwise such not-existing/empty sources all have the same hash,
  -      // but their "self URIs" must be all different.
         _content = '';
  +      // TODO(scheglov) We fail to report URI_DOES_NOT_EXIST.
  +      // On one hand we need to provide an unlinked bundle to prevent
  +      // analysis context from reading the file (we want it to work
  +      // hermetically and handle one one file at a time). OTOH,
  +      // ResynthesizerResultProvider happily reports that any source in the
  +      // SummaryDataStore has MODIFICATION_TIME `0`. We need to return `-1`
  +      // for missing files. Maybe add this feature to SummaryDataStore?
       }
       // Compute the content hash.
       List<int> textBytes = UTF8.encode(_content);
  
positive.code: 
      // Compute URIs.
      _ReferencedUris referencedUris = new _ReferencedUris();
      referencedUris.parted.add(file.uri.toString());
      for (Directive directive in file.unit.directives) {
        if (directive is PartOfDirective) {
          referencedUris.isLibrary = false;
  
negative.code:   }
  
    /**
     * TODO(scheglov) see [_addToStoreUnlinked]
     */
    void _addToStoreLinked(
        SummaryDataStore store, String uri, LinkedLibrary linked) {
      store.linkedMap[uri] = linked;
    }
  
    /**
     * TODO(scheglov) The existing [SummaryDataStore.addBundle] uses
     * [PackageBundle.unlinkedUnitUris] to add [PackageBundle.unlinkedUnits].
     * But we store unlinked bundles with the hash of the file content. This
     * means that when two files are the same, but have different URIs, we
     * add [UnlinkedUnit] with wrong URI.
     *
     * We need to clean this up.
     */
    void _addToStoreUnlinked(
        SummaryDataStore store, String uri, UnlinkedUnit unlinked) {
      store.unlinkedMap[uri] = unlinked;
    }
  
    /**
     * TODO(scheglov) replace with actual [AnalysisResult] computing.
     */
    List<String> _computeAndPrintErrors(_File file) {
  