anchor.diff:    final List<String> imported = <String>[];
     final List<String> exported = <String>[];
     final List<String> parted = <String>[];
  +
  +  factory _ReferencedUris(UnlinkedUnit unit) {
  +    _ReferencedUris referenced = new _ReferencedUris._();
  +    referenced.parted.addAll(unit.publicNamespace.parts);
  +    for (UnlinkedImport import in unit.imports) {
  +      if (!import.isImplicit) {
  +        referenced.imported.add(import.uri);
  +      }
  +    }
  +    for (UnlinkedExportPublic export in unit.publicNamespace.exports) {
  +      referenced.exported.add(export.uri);
  +    }
  +    return referenced;
  +  }
  +
  +  _ReferencedUris._();
   }
  
positive.code:   /**
     * Verify the API signatures for the changed files, and decide which linked
     * libraries should be invalidated, and files reanalyzed.
     */
    void _verifyUnlinkedSignatureOfChangedFiles() {
      if (_filesToVerifyUnlinkedSignature.isEmpty) {
  
negative.code:         if (node == null) {
            node = new _LibraryNode(this, nodes, libraryUri);
            nodes[libraryUriStr] = node;
  
            // Append the defining unit.
            _ReferencedUris referenced;
            {
              PackageBundle bundle = _getUnlinked(libraryFile);
              UnlinkedUnit unlinked = bundle.unlinkedUnits.single;
              referenced = new _ReferencedUris(unlinked);
              node.unlinkedBundles.add(bundle);
              _addToStoreUnlinked(store, libraryUriStr, unlinked);
            }
  
            // Append parts.
            for (String uri in referenced.parted) {
              _File file = libraryFile.resolveUri(uri);
              PackageBundle bundle = _getUnlinked(file);
              UnlinkedUnit unlinked = bundle.unlinkedUnits.single;
              node.unlinkedBundles.add(bundle);
              _addToStoreUnlinked(store, file.uri.toString(), unlinked);
            }
  
            // Create nodes for referenced libraries.
  