| Index: packages/string_scanner/lib/src/eager_span_scanner.dart
|
| diff --git a/packages/string_scanner/lib/src/eager_span_scanner.dart b/packages/string_scanner/lib/src/eager_span_scanner.dart
|
| index 3fae5cca7cfdefa1017b8b6298d1680df1f8f34e..f80dce5c3f9a4bdf39e8e624aff00ae30b6ad9c8 100644
|
| --- a/packages/string_scanner/lib/src/eager_span_scanner.dart
|
| +++ b/packages/string_scanner/lib/src/eager_span_scanner.dart
|
| @@ -2,8 +2,6 @@
|
| // 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.
|
|
|
| -library string_scanner.eager_span_scanner;
|
| -
|
| import 'package:charcode/ascii.dart';
|
|
|
| import 'line_scanner.dart';
|
| @@ -69,15 +67,26 @@ class EagerSpanScanner extends SpanScanner {
|
| EagerSpanScanner(String string, {sourceUrl, int position})
|
| : super(string, sourceUrl: sourceUrl, position: position);
|
|
|
| + bool scanChar(int character) {
|
| + if (!super.scanChar(character)) return false;
|
| + _adjustLineAndColumn(character);
|
| + return true;
|
| + }
|
| +
|
| int readChar() {
|
| - var char = super.readChar();
|
| - if (char == $lf || (char == $cr && peekChar() != $lf)) {
|
| + var character = super.readChar();
|
| + _adjustLineAndColumn(character);
|
| + return character;
|
| + }
|
| +
|
| + /// Adjusts [_line] and [_column] after having consumed [character].
|
| + void _adjustLineAndColumn(int character) {
|
| + if (character == $lf || (character == $cr && peekChar() != $lf)) {
|
| _line += 1;
|
| _column = 0;
|
| } else {
|
| _column += 1;
|
| }
|
| - return char;
|
| }
|
|
|
| bool scan(Pattern pattern) {
|
|
|