anchor.diff:      show AbstractScanner;
   import 'package:front_end/src/scanner/errors.dart';
   import 'package:front_end/src/scanner/reader.dart';
  -import 'package:front_end/src/scanner/scanner.dart';
   import 'package:front_end/src/scanner/token.dart';
   import 'package:test/test.dart';
   import 'package:test_reflective_loader/test_reflective_loader.dart';
  
positive.code:     expect(token.precedingComments.next.next.previous,
          same(token.precedingComments.next));
      expect(token.precedingComments.next.next.next, isNull);
    }
  
    void test_comment_multi_lineEnds() {
      String code = r'''
  /**
   * aa
   * bbb
   * c
   */''';
      ErrorListener listener = new ErrorListener();
      Scanner scanner = new _TestScanner(new CharSequenceReader(code), listener);
      scanner.tokenize();
      expect(
          scanner.lineStarts,
          equals(<int>[
            code.indexOf('/**'),
            code.indexOf(' * aa'),
            code.indexOf(' * bbb'),
            code.indexOf(' * c'),
            code.indexOf(' */')
          ]));
    }
  
    void test_comment_multi_unterminated() {
  
negative.code:     expect(TokenType.TILDE_SLASH.isUserDefinableOperator, isTrue);
    }
  }
  