Chromium Code Reviews| Index: src/scanner.cc |
| diff --git a/src/scanner.cc b/src/scanner.cc |
| index 04712e9f32a8ea529cc3b02ff6210e4e0d2b6e91..4392951c690ca91c01225bc6c3551ada6007e96a 100644 |
| --- a/src/scanner.cc |
| +++ b/src/scanner.cc |
| @@ -1499,6 +1499,27 @@ void Scanner::CopyTokenDesc(TokenDesc* to, TokenDesc* from) { |
| } |
| +bool Scanner::IsNextEscapedReservedWord(LanguageMode language_mode, |
| + bool is_generator) { |
| + if (next_.token == Token::IDENTIFIER && next_.literal_chars->is_one_byte() && |
| + next_literal_contains_escapes()) { |
| + Vector<const uint8_t> chars = next_.literal_chars->one_byte_literal(); |
| + switch (KeywordOrIdentifierToken(chars.start(), chars.length())) { |
| + case Token::IDENTIFIER: |
| + return false; |
| + case Token::LET: |
| + case Token::FUTURE_STRICT_RESERVED_WORD: |
| + return is_strict(language_mode); |
| + case Token::YIELD: |
| + return is_generator || is_strict(language_mode); |
|
caitp (gmail)
2015/11/04 05:03:37
yield is reserved in strict mode, so the change wa
|
| + default: |
| + return true; |
| + } |
| + } |
| + return false; |
| +} |
| + |
| + |
| int DuplicateFinder::AddOneByteSymbol(Vector<const uint8_t> key, int value) { |
| return AddSymbol(key, true, value); |
| } |