anchor.diff:    }
   
     leg.Script readScript(Uri uri, [tree.Node node]) {
  -    if (uri.scheme == 'dart') {
  -      uri = translateDartUri(uri, node);
  -    } else if (uri.scheme == 'package') {
  -      uri = translatePackageUri(uri, node);
  -    }
  +    var translated = translateUri(uri, node);
       String text = "";
       try {
         // TODO(ahe): We expect the future to be complete and call value
         // directly. In effect, we don't support truly asynchronous API.
  -      text = provider(uri).value;
  +      text = provider(translated).value;
       } catch (var exception) {
         if (node !== null) {
           cancel("$exception", node: node);
  
positive.code:     if (span === null) {
        handler(null, null, null, message, fatal);
      } else {
        handler(span.uri, span.begin, span.end, message, fatal);
      }
    }
  
  
negative.code:     return new leg.Script(uri, sourceFile);
    }
  
    Uri translateUri(Uri uri, tree.Node node) {
      switch (uri.scheme) {
        case 'dart': return translateDartUri(uri, node);
        case 'package': return translatePackageUri(uri, node);
        default: return uri;
      }
    }
  
    Uri translateDartUri(Uri uri, tree.Node node) {
      String path = DART2JS_LIBRARY_MAP[uri.path];
      if (path === null || uri.path.startsWith('_')) {
        reportError(node, 'library not found ${uri}');
  