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_SCANNER_H_ | 7 #ifndef V8_SCANNER_H_ |
8 #define V8_SCANNER_H_ | 8 #define V8_SCANNER_H_ |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 } | 455 } |
456 void SetHarmonyNumericLiterals(bool numeric_literals) { | 456 void SetHarmonyNumericLiterals(bool numeric_literals) { |
457 harmony_numeric_literals_ = numeric_literals; | 457 harmony_numeric_literals_ = numeric_literals; |
458 } | 458 } |
459 bool HarmonyClasses() const { | 459 bool HarmonyClasses() const { |
460 return harmony_classes_; | 460 return harmony_classes_; |
461 } | 461 } |
462 void SetHarmonyClasses(bool classes) { | 462 void SetHarmonyClasses(bool classes) { |
463 harmony_classes_ = classes; | 463 harmony_classes_ = classes; |
464 } | 464 } |
465 bool HarmonyTemplates() const { return harmony_templates_; } | |
466 void SetHarmonyTemplates(bool templates) { harmony_templates_ = templates; } | |
467 bool HarmonyUnicode() const { return harmony_unicode_; } | 465 bool HarmonyUnicode() const { return harmony_unicode_; } |
468 void SetHarmonyUnicode(bool unicode) { harmony_unicode_ = unicode; } | 466 void SetHarmonyUnicode(bool unicode) { harmony_unicode_ = unicode; } |
469 | 467 |
470 // Returns true if there was a line terminator before the peek'ed token, | 468 // Returns true if there was a line terminator before the peek'ed token, |
471 // possibly inside a multi-line comment. | 469 // possibly inside a multi-line comment. |
472 bool HasAnyLineTerminatorBeforeNext() const { | 470 bool HasAnyLineTerminatorBeforeNext() const { |
473 return has_line_terminator_before_next_ || | 471 return has_line_terminator_before_next_ || |
474 has_multiline_comment_before_next_; | 472 has_multiline_comment_before_next_; |
475 } | 473 } |
476 | 474 |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
738 bool has_line_terminator_before_next_; | 736 bool has_line_terminator_before_next_; |
739 // Whether there is a multi-line comment that contains a | 737 // Whether there is a multi-line comment that contains a |
740 // line-terminator after the current token, and before the next. | 738 // line-terminator after the current token, and before the next. |
741 bool has_multiline_comment_before_next_; | 739 bool has_multiline_comment_before_next_; |
742 // Whether we scan 'module', 'import', 'export' as keywords. | 740 // Whether we scan 'module', 'import', 'export' as keywords. |
743 bool harmony_modules_; | 741 bool harmony_modules_; |
744 // Whether we scan 0o777 and 0b111 as numbers. | 742 // Whether we scan 0o777 and 0b111 as numbers. |
745 bool harmony_numeric_literals_; | 743 bool harmony_numeric_literals_; |
746 // Whether we scan 'class', 'extends', 'static' and 'super' as keywords. | 744 // Whether we scan 'class', 'extends', 'static' and 'super' as keywords. |
747 bool harmony_classes_; | 745 bool harmony_classes_; |
748 // Whether we scan TEMPLATE_SPAN and TEMPLATE_TAIL | |
749 bool harmony_templates_; | |
750 // Whether we allow \u{xxxxx}. | 746 // Whether we allow \u{xxxxx}. |
751 bool harmony_unicode_; | 747 bool harmony_unicode_; |
752 }; | 748 }; |
753 | 749 |
754 } } // namespace v8::internal | 750 } } // namespace v8::internal |
755 | 751 |
756 #endif // V8_SCANNER_H_ | 752 #endif // V8_SCANNER_H_ |
OLD | NEW |