| Index: packages/csslib/lib/src/tokenizer_base.dart
|
| diff --git a/packages/csslib/lib/src/tokenizer_base.dart b/packages/csslib/lib/src/tokenizer_base.dart
|
| index 663c987d1312265407e2e4c80cf4aaf6410eef29..c2a448fd8e209ca5f1563f19d3270db33de4b966 100644
|
| --- a/packages/csslib/lib/src/tokenizer_base.dart
|
| +++ b/packages/csslib/lib/src/tokenizer_base.dart
|
| @@ -55,8 +55,7 @@ abstract class TokenizerBase {
|
| int _index = 0;
|
| int _startIndex = 0;
|
|
|
| - TokenizerBase(this._file, this._text, this._inString,
|
| - [this._index = 0]);
|
| + TokenizerBase(this._file, this._text, this._inString, [this._index = 0]);
|
|
|
| Token next();
|
| int getIdentifierKind();
|
| @@ -80,9 +79,9 @@ abstract class TokenizerBase {
|
| }
|
| }
|
|
|
| - int _peekChar() {
|
| - if (_index < _text.length) {
|
| - return _text.codeUnitAt(_index);
|
| + int _peekChar([int offset = 0]) {
|
| + if (_index + offset < _text.length) {
|
| + return _text.codeUnitAt(_index + offset);
|
| } else {
|
| return 0;
|
| }
|
| @@ -101,6 +100,17 @@ abstract class TokenizerBase {
|
| }
|
| }
|
|
|
| + bool _nextCharsAreNumber(int first) {
|
| + if (TokenizerHelpers.isDigit(first)) return true;
|
| + var second = _peekChar();
|
| + if (first == TokenChar.DOT) return TokenizerHelpers.isDigit(second);
|
| + if (first == TokenChar.PLUS || first == TokenChar.MINUS) {
|
| + return TokenizerHelpers.isDigit(second) ||
|
| + (second == TokenChar.DOT && TokenizerHelpers.isDigit(_peekChar(1)));
|
| + }
|
| + return false;
|
| + }
|
| +
|
| Token _finishToken(int kind) {
|
| return new Token(kind, _file.span(_startIndex, _index));
|
| }
|
|
|