| Index: pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart b/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
|
| index e1dd5f4d2eab75789939f0072a15dbe7e28f65c1..f4de827c7fa5399a8d90e8207653e0b2503b8d77 100644
|
| --- a/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
|
| +++ b/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
|
| @@ -241,7 +241,7 @@ abstract class AbstractScanner implements Scanner {
|
| if (($A <= next && next <= $Z) ||
|
| identical(next, $_) ||
|
| identical(next, $$)) {
|
| - return tokenizeKeywordOrIdentifier(next, true);
|
| + return tokenizeIdentifier(next, scanOffset, true);
|
| }
|
|
|
| if (identical(next, $LT)) {
|
| @@ -808,16 +808,6 @@ abstract class AbstractScanner implements Scanner {
|
| int tokenizeKeywordOrIdentifier(int next, bool allowDollar) {
|
| KeywordState state = KeywordState.KEYWORD_STATE;
|
| int start = scanOffset;
|
| - // We allow a leading capital character.
|
| - if ($A <= next && next <= $Z) {
|
| - state = state.nextCapital(next);
|
| - next = advance();
|
| - } else if ($a <= next && next <= $z){
|
| - // Do the first next call outside the loop to avoid an additional test
|
| - // and to make the loop monomorphic.
|
| - state = state.next(next);
|
| - next = advance();
|
| - }
|
| while (state != null && $a <= next && next <= $z) {
|
| state = state.next(next);
|
| next = advance();
|
| @@ -955,11 +945,12 @@ abstract class AbstractScanner implements Scanner {
|
| int tokenizeInterpolatedIdentifier(int next) {
|
| appendPrecedenceToken(STRING_INTERPOLATION_IDENTIFIER_INFO);
|
|
|
| - if ($a <= next && next <= $z ||
|
| - $A <= next && next <= $Z ||
|
| - identical(next, $_)) {
|
| + if ($a <= next && next <= $z) {
|
| beginToken(); // The identifier starts here.
|
| next = tokenizeKeywordOrIdentifier(next, false);
|
| + } else if (($A <= next && next <= $Z) || identical(next, $_)) {
|
| + beginToken(); // The identifier starts here.
|
| + next = tokenizeIdentifier(next, scanOffset, false);
|
| } else {
|
| unterminated(r'$', shouldAdvance: false);
|
| }
|
|
|