| Index: runtime/vm/scanner.cc
|
| diff --git a/runtime/vm/scanner.cc b/runtime/vm/scanner.cc
|
| index f33d0b4b32538dbd55d1c4932fd54de4b2c77f6c..3e7f02834cf327eb420aa2982f5a791d3ce426d9 100644
|
| --- a/runtime/vm/scanner.cc
|
| +++ b/runtime/vm/scanner.cc
|
| @@ -786,8 +786,16 @@ void Scanner::Scan() {
|
| }
|
| break;
|
|
|
| - case '?':
|
| + case '?': // ? ?. ?? ??=
|
| Recognize(Token::kCONDITIONAL);
|
| + if (c0_ == '.') {
|
| + Recognize(Token::kQM_PERIOD);
|
| + } else if (c0_ == '?') {
|
| + Recognize(Token::kIFNULL);
|
| + if (c0_ == '=') {
|
| + Recognize(Token::kASSIGN_COND);
|
| + }
|
| + }
|
| break;
|
|
|
| case ':':
|
|
|