anchor.diff:      if (span === null) {
         handler(null, null, null, message, fatal);
       } else {
  -      handler(span.uri, span.begin, span.end, message, fatal);
  +      handler(translateUri(span.uri, null), span.begin, span.end,
  +              message, fatal);
       }
     }
   
  
positive.code:     return new leg.Script(uri, sourceFile);
    }
  
    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}');
  
negative.code:   }
  
    leg.Script readScript(Uri uri, [tree.Node 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(translated).value;
      } catch (var exception) {
        if (node !== null) {
          cancel("$exception", node: node);
  