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 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 bool HarmonyClasses() const { | 463 bool HarmonyClasses() const { |
464 return harmony_classes_; | 464 return harmony_classes_; |
465 } | 465 } |
466 void SetHarmonyClasses(bool classes) { | 466 void SetHarmonyClasses(bool classes) { |
467 harmony_classes_ = classes; | 467 harmony_classes_ = classes; |
468 } | 468 } |
469 bool HarmonyTemplates() const { return harmony_templates_; } | 469 bool HarmonyTemplates() const { return harmony_templates_; } |
470 void SetHarmonyTemplates(bool templates) { harmony_templates_ = templates; } | 470 void SetHarmonyTemplates(bool templates) { harmony_templates_ = templates; } |
471 bool HarmonyUnicode() const { return harmony_unicode_; } | 471 bool HarmonyUnicode() const { return harmony_unicode_; } |
472 void SetHarmonyUnicode(bool unicode) { harmony_unicode_ = unicode; } | 472 void SetHarmonyUnicode(bool unicode) { harmony_unicode_ = unicode; } |
| 473 bool HarmonyExponentiation() const { return harmony_exponentiation_; } |
| 474 void SetHarmonyExponentiation(bool exp) { harmony_exponentiation_ = exp; } |
473 | 475 |
474 // Returns true if there was a line terminator before the peek'ed token, | 476 // Returns true if there was a line terminator before the peek'ed token, |
475 // possibly inside a multi-line comment. | 477 // possibly inside a multi-line comment. |
476 bool HasAnyLineTerminatorBeforeNext() const { | 478 bool HasAnyLineTerminatorBeforeNext() const { |
477 return has_line_terminator_before_next_ || | 479 return has_line_terminator_before_next_ || |
478 has_multiline_comment_before_next_; | 480 has_multiline_comment_before_next_; |
479 } | 481 } |
480 | 482 |
481 // Scans the input as a regular expression pattern, previous | 483 // Scans the input as a regular expression pattern, previous |
482 // character(s) must be /(=). Returns true if a pattern is scanned. | 484 // character(s) must be /(=). Returns true if a pattern is scanned. |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 // Whether we scan 'module', 'import', 'export' as keywords. | 739 // Whether we scan 'module', 'import', 'export' as keywords. |
738 bool harmony_modules_; | 740 bool harmony_modules_; |
739 // Whether we scan 0o777 and 0b111 as numbers. | 741 // Whether we scan 0o777 and 0b111 as numbers. |
740 bool harmony_numeric_literals_; | 742 bool harmony_numeric_literals_; |
741 // Whether we scan 'class', 'extends', 'static' and 'super' as keywords. | 743 // Whether we scan 'class', 'extends', 'static' and 'super' as keywords. |
742 bool harmony_classes_; | 744 bool harmony_classes_; |
743 // Whether we scan TEMPLATE_SPAN and TEMPLATE_TAIL | 745 // Whether we scan TEMPLATE_SPAN and TEMPLATE_TAIL |
744 bool harmony_templates_; | 746 bool harmony_templates_; |
745 // Whether we allow \u{xxxxx}. | 747 // Whether we allow \u{xxxxx}. |
746 bool harmony_unicode_; | 748 bool harmony_unicode_; |
| 749 // Whether we allow x ** y or x **= y |
| 750 bool harmony_exponentiation_; |
747 }; | 751 }; |
748 | 752 |
749 } } // namespace v8::internal | 753 } } // namespace v8::internal |
750 | 754 |
751 #endif // V8_SCANNER_H_ | 755 #endif // V8_SCANNER_H_ |
OLD | NEW |