Index: src/parser.h |
diff --git a/src/parser.h b/src/parser.h |
index eea617f8dc0d1d1e82e86cd4746e4eaad84d1acb..ae600d6753e0b974639952deb96619fe9b0d6738 100644 |
--- a/src/parser.h |
+++ b/src/parser.h |
@@ -437,6 +437,7 @@ class Parser BASE_EMBEDDED { |
bool allow_modules() { return scanner().HarmonyModules(); } |
bool allow_harmony_scoping() { return scanner().HarmonyScoping(); } |
bool allow_generators() const { return allow_generators_; } |
+ bool allow_for_of() const { return allow_for_of_; } |
void set_allow_natives_syntax(bool allow) { allow_natives_syntax_ = allow; } |
void set_allow_lazy(bool allow) { allow_lazy_ = allow; } |
@@ -445,6 +446,7 @@ class Parser BASE_EMBEDDED { |
scanner().SetHarmonyScoping(allow); |
} |
void set_allow_generators(bool allow) { allow_generators_ = allow; } |
+ void set_allow_for_of(bool allow) { allow_for_of_ = allow; } |
// Parses the source code represented by the compilation info and sets its |
// function literal. Returns false (and deallocates any allocated AST |
@@ -721,13 +723,16 @@ class Parser BASE_EMBEDDED { |
bool is_generator() const { return current_function_state_->is_generator(); } |
+ bool CheckInOrOf(ForEachStatement::VisitMode* visit_mode); |
+ |
bool peek_any_identifier(); |
INLINE(void Consume(Token::Value token)); |
void Expect(Token::Value token, bool* ok); |
bool Check(Token::Value token); |
void ExpectSemicolon(bool* ok); |
- void ExpectContextualKeyword(const char* keyword, bool* ok); |
+ bool CheckContextualKeyword(Vector<const char> keyword); |
+ void ExpectContextualKeyword(Vector<const char> keyword, bool* ok); |
Handle<String> LiteralString(PretenureFlag tenured) { |
if (scanner().is_literal_ascii()) { |
@@ -850,6 +855,7 @@ class Parser BASE_EMBEDDED { |
bool allow_natives_syntax_; |
bool allow_lazy_; |
bool allow_generators_; |
+ bool allow_for_of_; |
bool stack_overflow_; |
// If true, the next (and immediately following) function literal is |
// preceded by a parenthesis. |