anchor.diff:      return libraryRoot.resolve(path);
     }
   
  +  translatePackageUri(Uri uri, leg.ScriptTag node) =>
  +    packageRoot.resolve(uri.path);
  +
     bool run(Uri uri) {
  -    bool success = super.run(uri);
  -    for (final task in tasks) {
  -      log('${task.name} took ${task.timing}msec');
  +    try {
  +      packageRoot = uri.resolve('packages/');
  +      bool success = super.run(uri);
  +      for (final task in tasks) {
  +        log('${task.name} took ${task.timing}msec');
  +      }
  +      return success;
  +    } finally {
  +      packageRoot = null;
       }
  -    return success;
     }
   
     void reportDiagnostic(leg.SourceSpan span, String message, bool fatal) {
  
positive.code:   leg.Script readScript(Uri uri, [leg.ScriptTag node]) {
      if (uri.scheme == 'dart') {
        uri = translateDartUri(uri, node);
      }
      String text = "";
      try {
  
negative.code:   ReadUriFromString provider;
    DiagnosticHandler handler;
    Uri libraryRoot;
    Uri packageRoot;
    List<String> options;
    bool mockableLibraryUsed = false;
  
  