anchor.diff:    CompilationResult compilationResult = await entry.internalMain(arguments);
     Expect.isTrue(compilationResult.isSuccess,
         "Unsuccessful compilation of test:\n${test.code}");
  -  CompilerImpl compiler = compilationResult.compiler;
  -  SingleMapping sourceMap = new SingleMapping.fromJson(
  -      JSON.decode(new File('$output.map').readAsStringSync()));
  +  String sourceMapText = new File('$output.map').readAsStringSync();
  +  SingleMapping sourceMap = parse(sourceMapText);
   
     if (printJs) {
       print('JavaScript output:');
       print(new File(output).readAsStringSync());
  +  }
  +  if (writeJs) {
  +    new File('out.js').writeAsStringSync(new File(output).readAsStringSync());
  +    new File('out.js.map').writeAsStringSync(sourceMapText);
     }
     print("Running d8 $output");
     ProcessResult runResult = Process.runSync(d8executable,
  
positive.code: }
  class Class {
    @NoInline()
    Class() {
      @{2:Class}throw '$EXCEPTION_MARKER';
    }
  }
  ''',
  
negative.code:       "Unexpected stack trace lines for test:\n${test.code}\n"
        "Actual:\n${dartStackTrace.join('\n')}\n"
        "Unexpected:\n${test.unexpectedLines.join('\n')}\n");
    Expect.isTrue(
        unexpectedBeforeLines.isEmpty && unexpectedAfterLines.isEmpty,
        "Unexpected stack trace lines:\n${test.code}\n"
        "Actual:\n${dartStackTrace.join('\n')}\n"
        "Unexpected before:\n${unexpectedBeforeLines.join('\n')}\n"
        "Unexpected after:\n${unexpectedAfterLines.join('\n')}\n");
  
    print("Deleting '${tmpDir.path}'.");
    tmpDir.deleteSync(recursive: true);
  