diff --git a/runtime/Dart/lib/src/lexer.dart b/runtime/Dart/lib/src/lexer.dart index 2520f827d5..4784d77fba 100644 --- a/runtime/Dart/lib/src/lexer.dart +++ b/runtime/Dart/lib/src/lexer.dart @@ -19,14 +19,14 @@ import 'util/utils.dart'; abstract class Lexer extends Recognizer implements TokenSource { - static final DEFAULT_MODE = 0; - static final MORE = -2; - static final SKIP = -3; + static const int DEFAULT_MODE = 0; + static const int MORE = -2; + static const int SKIP = -3; - static final DEFAULT_TOKEN_CHANNEL = Token.DEFAULT_CHANNEL; - static final HIDDEN = Token.HIDDEN_CHANNEL; - static final MIN_CHAR_VALUE = 0x0000; - static final MAX_CHAR_VALUE = 0x10FFFF; + static const int DEFAULT_TOKEN_CHANNEL = Token.DEFAULT_CHANNEL; + static const int HIDDEN = Token.HIDDEN_CHANNEL; + static const int MIN_CHAR_VALUE = 0x0000; + static const int MAX_CHAR_VALUE = 0x10FFFF; CharStream _input; @@ -173,6 +173,10 @@ abstract class Lexer extends Recognizer mode_ = m; } + int getMode() { + return mode_; + } + void pushMode(int m) { if (LexerATNSimulator.debug) { log('pushMode $m'); @@ -188,6 +192,10 @@ abstract class Lexer extends Recognizer return mode_; } + List get modeStack { + return _modeStack; + } + /// Set the char stream and reset the lexer @override set inputStream(CharStream input) {