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: // Copyright (c) 2018, the Dart project authors.  Please see the AUTHORS file
  // for details. All rights reserved. Use of this source code is governed by a
  // BSD-style license that can be found in the LICENSE file.
  
  // @dart = 2.9
  
  // ignore_for_file: always_declare_return_types
  // ignore_for_file: omit_local_variable_types
  
  import 'package:source_maps/source_maps.dart' hide Printer;
  import 'package:source_span/source_span.dart' show SourceLocation;
  
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.
  