OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Features shared by parsing and pre-parsing scanners. | 5 // Features shared by parsing and pre-parsing scanners. |
6 | 6 |
7 #ifndef V8_PARSING_SCANNER_H_ | 7 #ifndef V8_PARSING_SCANNER_H_ |
8 #define V8_PARSING_SCANNER_H_ | 8 #define V8_PARSING_SCANNER_H_ |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
486 | 486 |
487 const LiteralBuffer* source_url() const { return &source_url_; } | 487 const LiteralBuffer* source_url() const { return &source_url_; } |
488 const LiteralBuffer* source_mapping_url() const { | 488 const LiteralBuffer* source_mapping_url() const { |
489 return &source_mapping_url_; | 489 return &source_mapping_url_; |
490 } | 490 } |
491 | 491 |
492 bool IdentifierIsFutureStrictReserved(const AstRawString* string) const; | 492 bool IdentifierIsFutureStrictReserved(const AstRawString* string) const; |
493 | 493 |
494 bool FoundHtmlComment() const { return found_html_comment_; } | 494 bool FoundHtmlComment() const { return found_html_comment_; } |
495 | 495 |
496 #define DECLARE_ACCESSORS(name) \ | |
497 inline bool allow_##name() const { return allow_##name##_; } \ | |
498 inline void set_allow_##name(bool allow) { allow_##name##_ = allow; } | |
499 DECLARE_ACCESSORS(harmony_exponentiation_operator) | |
500 #undef ACCESSOR | |
501 | |
502 private: | 496 private: |
503 // The current and look-ahead token. | 497 // The current and look-ahead token. |
504 struct TokenDesc { | 498 struct TokenDesc { |
505 Token::Value token; | 499 Token::Value token; |
506 Location location; | 500 Location location; |
507 LiteralBuffer* literal_chars; | 501 LiteralBuffer* literal_chars; |
508 LiteralBuffer* raw_literal_chars; | 502 LiteralBuffer* raw_literal_chars; |
509 int smi_value_; | 503 int smi_value_; |
510 }; | 504 }; |
511 | 505 |
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
821 // inside multiline comments. | 815 // inside multiline comments. |
822 bool has_line_terminator_before_next_; | 816 bool has_line_terminator_before_next_; |
823 // Whether there is a multi-line comment that contains a | 817 // Whether there is a multi-line comment that contains a |
824 // line-terminator after the current token, and before the next. | 818 // line-terminator after the current token, and before the next. |
825 bool has_multiline_comment_before_next_; | 819 bool has_multiline_comment_before_next_; |
826 bool has_line_terminator_after_next_; | 820 bool has_line_terminator_after_next_; |
827 | 821 |
828 // Whether this scanner encountered an HTML comment. | 822 // Whether this scanner encountered an HTML comment. |
829 bool found_html_comment_; | 823 bool found_html_comment_; |
830 | 824 |
831 bool allow_harmony_exponentiation_operator_; | |
832 | |
833 MessageTemplate::Template scanner_error_; | 825 MessageTemplate::Template scanner_error_; |
834 Location scanner_error_location_; | 826 Location scanner_error_location_; |
835 }; | 827 }; |
836 | 828 |
837 } // namespace internal | 829 } // namespace internal |
838 } // namespace v8 | 830 } // namespace v8 |
839 | 831 |
840 #endif // V8_PARSING_SCANNER_H_ | 832 #endif // V8_PARSING_SCANNER_H_ |
OLD | NEW |