| Index: lib/compiler/implementation/scanner/scanner.dart
|
| diff --git a/lib/compiler/implementation/scanner/scanner.dart b/lib/compiler/implementation/scanner/scanner.dart
|
| index fcdebd397b4dcae4394d3a95ae9693b5d8abb1fc..882f845933a7ff4bd75acf5aa44e68a111863a97 100644
|
| --- a/lib/compiler/implementation/scanner/scanner.dart
|
| +++ b/lib/compiler/implementation/scanner/scanner.dart
|
| @@ -106,6 +106,10 @@ class AbstractScanner<T extends SourceString> implements Scanner {
|
| return advance();
|
| }
|
|
|
| + if ($r === next) {
|
| + return tokenizeRawStringKeywordOrIdentifier(next);
|
| + }
|
| +
|
| if ($a <= next && next <= $z) {
|
| return tokenizeKeywordOrIdentifier(next, true);
|
| }
|
| @@ -230,6 +234,7 @@ class AbstractScanner<T extends SourceString> implements Scanner {
|
| return tokenizeSlashOrComment(next);
|
| }
|
|
|
| + // TODO(aprelev@gmail.com) Remove deprecated raw string literals
|
| if (next === $AT) {
|
| return tokenizeAtOrRawString(next);
|
| }
|
| @@ -620,6 +625,16 @@ class AbstractScanner<T extends SourceString> implements Scanner {
|
| }
|
| }
|
|
|
| + int tokenizeRawStringKeywordOrIdentifier(int next) {
|
| + int nextnext = peek();
|
| + if (nextnext === $DQ || nextnext === $SQ) {
|
| + int start = byteOffset;
|
| + next = advance();
|
| + return tokenizeString(next, start, true);
|
| + }
|
| + return tokenizeKeywordOrIdentifier(next, true);
|
| + }
|
| +
|
| int tokenizeKeywordOrIdentifier(int next, bool allowDollar) {
|
| KeywordState state = KeywordState.KEYWORD_STATE;
|
| int start = byteOffset;
|
|
|