anchor.diff:      var inputLibraries = <summary2.LinkInputLibrary>[];
   
       var sourceToUnit = _fileCrawler.sourceToUnit;
  -    for (var librarySource in _fileCrawler.librarySources) {
  +    var librarySourcesToLink = <Source>[]
  +      ..addAll(_fileCrawler.librarySources)
  +      ..addAll(_fileCrawler._invalidLibrarySources);
  +    for (var librarySource in librarySourcesToLink) {
         var libraryUriStr = '${librarySource.uri}';
         var unit = sourceToUnit[librarySource];
   
  
positive.code:     if (!isPart) {
        libraryUris.add(uriStr);
        librarySources.add(source);
      }
    }
  }
  
negative.code:     uriToUnlinkedUnit[uriStr] = unlinkedUnit;
      sourceToUnlinkedUnit[source] = unlinkedUnit;
  
      void enqueueSource(String relativeUri, bool shouldBeLibrary) {
        var sourceUri = resolveRelativeUri(uri, Uri.parse(relativeUri));
        if (_knownSources.add(sourceUri)) {
          _pendingSource.add(sourceUri);
          if (shouldBeLibrary) {
            _expectedLibraryUris.add(sourceUri);
          }
        }
      }
  
  