anchor.diff:          ..showHints = false
           ..showWarnings = false)
             .diagnosticHandler;
  -  Uri libraryUri = new Uri.file(appendSlash(libraryRoot));
  +  Uri libraryUri = new Uri(scheme: 'file', path: appendSlash(libraryRoot));
     Uri packageUri = null;
     if (packageRoot != null) {
  -    packageUri = new Uri.file(appendSlash(packageRoot));
  -  }
  -  return dart2js.analyze(libraries, libraryUri, packageUri,
  +    packageUri = new Uri(scheme: 'file', path: appendSlash(packageRoot));
  +  }
  +  List<Uri> librariesUri = <Uri>[];
  +  libraries.forEach((library) {
  +    librariesUri.add(currentDirectory.resolve(library));
  +  });
  +  return dart2js.analyze(librariesUri, libraryUri, packageUri,
         provider.readStringFromUri, diagnosticHandler,
         ['--preserve-comments', '--categories=Client,Server'])
         ..catchError((error) {
  
positive.code:       var contents = new File(f).readAsStringSync();
        if (!(contents.contains(new RegExp('\npart of ')) ||
            contents.startsWith(new RegExp('part of ')))) {
          libraries.add(new Uri.file(path.normalize(path.absolute(f))));
          logger.info('Added to libraries: $f');
        }
      }
    });
    return libraries;
  }
  
  String _findPackageRoot(String directory) {
  
negative.code: 
  /// Analyzes set of libraries and provides a mirror system which can be used
  /// for static inspection of the source code.
  Future<MirrorSystem> _analyzeLibraries(List<String> libraries,
        String libraryRoot, {String packageRoot}) {
    SourceFileProvider provider = new CompilerSourceFileProvider();
    api.DiagnosticHandler diagnosticHandler =
  