Chromium Code Reviews| Index: src/scanner.h |
| diff --git a/src/scanner.h b/src/scanner.h |
| index 6d0d4dc8eddb52022f67cb1cdb01273695666373..3e5e682c089c8c7f3631b9b2003c6827b7663455 100644 |
| --- a/src/scanner.h |
| +++ b/src/scanner.h |
| @@ -373,13 +373,10 @@ class Scanner { |
| Location peek_location() const { return next_.location; } |
| bool literal_contains_escapes() const { |
| - Location location = current_.location; |
| - int source_length = (location.end_pos - location.beg_pos); |
| - if (current_.token == Token::STRING) { |
| - // Subtract delimiters. |
| - source_length -= 2; |
| - } |
| - return current_.literal_chars->length() != source_length; |
| + return literal_contains_escapes(current_); |
| + } |
| + bool next_literal_contains_escapes() const { |
| + return literal_contains_escapes(next_); |
| } |
| bool is_literal_contextual_keyword(Vector<const char> keyword) { |
| DCHECK_NOT_NULL(current_.literal_chars); |
| @@ -394,6 +391,9 @@ class Scanner { |
| const AstRawString* NextSymbol(AstValueFactory* ast_value_factory); |
| const AstRawString* CurrentRawSymbol(AstValueFactory* ast_value_factory); |
| + bool IsNextEscapedReservedWord(LanguageMode language_mode, bool is_generator, |
| + bool allow_sloppy_let); |
| + |
| double DoubleValue(); |
| bool ContainsDot(); |
| bool LiteralMatches(const char* data, int length, bool allow_escapes = true) { |
| @@ -689,6 +689,16 @@ class Scanner { |
| return static_cast<int>(source_->pos()) - kCharacterLookaheadBufferSize; |
| } |
| + bool literal_contains_escapes(const TokenDesc& token) const { |
|
adamk
2015/11/03 23:00:57
This could be static (and thus not const). And Cam
caitp (gmail)
2015/11/04 04:49:24
Done.
|
| + Location location = token.location; |
| + int source_length = (location.end_pos - location.beg_pos); |
| + if (token.token == Token::STRING) { |
| + // Subtract delimiters. |
| + source_length -= 2; |
| + } |
| + return token.literal_chars->length() != source_length; |
| + } |
| + |
| UnicodeCache* unicode_cache_; |
| // Buffers collecting literal strings, numbers, etc. |