| Index: lib/src/eager_span_scanner.dart
|
| diff --git a/lib/src/eager_span_scanner.dart b/lib/src/eager_span_scanner.dart
|
| index c537b0cd6f5ef5a3c0ad77fa308de53df007a8c3..f80dce5c3f9a4bdf39e8e624aff00ae30b6ad9c8 100644
|
| --- a/lib/src/eager_span_scanner.dart
|
| +++ b/lib/src/eager_span_scanner.dart
|
| @@ -67,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) {
|
|
|