anchor.diff:    return spec["name"];
   }
   
  -List<String> _listSdk() {
  -  var sdk = new List<String>();
  +List<Uri> _listSdk() {
  +  var sdk = new List<Uri>();
     LIBRARIES.forEach((String name, LibraryInfo info) {
       if (info.documented) {
  -      sdk.add('dart:$name');
  +      sdk.add(Uri.parse('dart:$name'));
         logger.info('Add to SDK: ${sdk.last}');
       }
     });
  
positive.code:         ..showHints = false
          ..showWarnings = false)
            .diagnosticHandler;
    Uri libraryUri = new Uri(scheme: 'file', path: appendSlash(libraryRoot));
    Uri packageUri = null;
    if (packageRoot != null) {
      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) {
  
negative.code:   return libraries;
  }
  
  List<Uri> _listDartFromDir(String args) {
    var libraries = [];
    // To avoid anaylzing package files twice, only files with paths not
    // containing '/packages' will be added. The only exception is if the file to
  