anchor.diff:    Iterable<LibraryDependencyMirror>
         _sortedLibraryDependencies(LibraryMirror lib) =>
       lib.libraryDependencies
  -      ..sort((a, b) => _targetLibraryName(a).compareTo(_targetLibraryName(b)));
  +      ..sort((a, b) => _targetLibraryUri(a).compareTo(_targetLibraryUri(b)));
   
  -  String _targetLibraryName(LibraryDependencyMirror lib) =>
  -      MirrorSystem.getName(lib.targetLibrary.qualifiedName);
  +  String _targetLibraryUri(LibraryDependencyMirror lib) =>
  +      lib.targetLibrary.uri.toString();
   
     Iterable<DeclarationMirror> _sortedLibraryDeclarations(LibraryMirror lib) =>
         lib.declarations.values
             .where((d) => d is ClassMirror || d is MethodMirror)
             .toList()
             ..sort((a, b) {
  -            if (a.runtimeType == b.runtimeType) {
  -              return _declarationName(a).compareTo(_declarationName(b));
  -            }
               if (a is MethodMirror && b is ClassMirror) return -1;
               if (a is ClassMirror && b is MethodMirror) return 1;
  -            return 0;
  +            return _declarationName(a).compareTo(_declarationName(b));
             });
   
     String _declarationName(DeclarationMirror declaration) =>
  
positive.code: 
    // Reads StaticInitializer annotations on this library and all its
    // dependencies in post-order.
    void _readLibraryDeclarations(LibraryMirror lib) {
      _librariesSeen.add(lib);
  
      // First visit all our dependencies.
      for (var dependency in _sortedLibraryDependencies(lib)) {
        if (_librariesSeen.contains(dependency.targetLibrary)) continue;
        _readLibraryDeclarations(dependency.targetLibrary);
      }
  
      // Second parse the library directive annotations.
  
negative.code:   // If non-null, then only annotations which return true when passed to this
    // function will be processed.
    final InitializerFilter customFilter;
  
    // The root library that we start parsing from.
    LibraryMirror _root;
  