anchor.diff:  /// Compute [CodeLine]s and [Coverage] for [filename] using the given [options].
   Future<CodeLinesResult> computeCodeLines(
       List<String> options,
  -    String filename) async {
  +    String filename,
  +    {bool addAnnotations: true}) async {
     SourceMapProcessor processor = new SourceMapProcessor(filename);
     List<SourceMapInfo> sourceMapInfoList =
         await processor.process(options, perElement: false);
  
positive.code:   sb.write('''
  <div class="header" style="left: 0px;">[${options1.join(',')}]</div>
  <div class="header" style="right: 0px;">[${options2.join(',')}]</div>
  <div style="position:absolute;top:22px;width:100%;height:18px;">
    <span class="identical1">&nbsp;&nbsp;&nbsp;</span> 
    <span class="identical2">&nbsp;&nbsp;&nbsp;</span>
    identical blocks
    <span class="corresponding1">&nbsp;&nbsp;&nbsp;</span>
    <span class="corresponding2">&nbsp;&nbsp;&nbsp;</span> 
    corresponding blocks
    <span style="$WITH_SOURCE_INFO_STYLE">&nbsp;&nbsp;&nbsp;</span>
    offset with source information
    <span style="$WITHOUT_SOURCE_INFO_STYLE">&nbsp;&nbsp;&nbsp;</span>
    offset without source information
    <span style="$ADDITIONAL_SOURCE_INFO_STYLE">&nbsp;&nbsp;&nbsp;</span>
    offset with unneeded source information
  </div>
  <table style="position:absolute;top:40px;width:100%;"><tr>
  ''');
  
    void addCell(String content) {
  
negative.code:   }
  
    print('Compiling ${options1.join(' ')} $filename');
    CodeLinesResult result1 = await computeCodeLines(
        options1, filename, addAnnotations: addAnnotations);
    print('Compiling ${options2.join(' ')} $filename');
    CodeLinesResult result2 = await computeCodeLines(
        options2, filename, addAnnotations: addAnnotations);
  
    StringBuffer sb = new StringBuffer();
    sb.write('''
  