anchor.diff:    final Expression expression;
     HoverComment(this.expression, this.start, this.end);
     @override
  -  toString() => '#<HoverComment `$expression` @ $start to $end>';
  +  String toString() => '#<HoverComment `$expression` @ $start to $end>';
   }
   
   class SourceMapPrintingContext extends SimpleJavaScriptPrintingContext {
  
positive.code:   final SourceLocation end;
    NodeEnd(this.end);
    @override
    toString() => '#<NodeEnd $end>';
  }
  
  class NodeSpan {
    final SourceLocation start, end;
    NodeSpan(this.start, this.end);
    @override
    toString() => '#<NodeSpan $start to $end>';
  }
  
  class HoverComment {
  
negative.code:   /// The last marked line in the buffer.
    int _previousDartOffset = -1;
  
    SourceLocation? _pendingDartOffset;
    SourceLocation? _pendingJSLocation;
  
    @override
    void emit(String code) {
      var chars = code.runes.toList();
      var length = chars.length;
      for (var i = 0; i < length; i++) {
        var c = chars[i];
        if (c == _LF || (c == _CR && (i + 1 == length || chars[i + 1] != _LF))) {
          // Return not followed by line-feed is treated as a new line.
  