OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #ifndef V8_PARSER_H_ | 5 #ifndef V8_PARSER_H_ |
6 #define V8_PARSER_H_ | 6 #define V8_PARSER_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/ast.h" | 9 #include "src/ast.h" |
10 #include "src/compiler.h" // TODO(titzer): remove this include dependency | 10 #include "src/compiler.h" // TODO(titzer): remove this include dependency |
(...skipping 1015 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1026 | 1026 |
1027 void set_initializer_position(int pos) { initializer_position_ = pos; } | 1027 void set_initializer_position(int pos) { initializer_position_ = pos; } |
1028 | 1028 |
1029 private: | 1029 private: |
1030 PatternRewriter() {} | 1030 PatternRewriter() {} |
1031 | 1031 |
1032 #define DECLARE_VISIT(type) void Visit##type(v8::internal::type* node) override; | 1032 #define DECLARE_VISIT(type) void Visit##type(v8::internal::type* node) override; |
1033 // Visiting functions for AST nodes make this an AstVisitor. | 1033 // Visiting functions for AST nodes make this an AstVisitor. |
1034 AST_NODE_LIST(DECLARE_VISIT) | 1034 AST_NODE_LIST(DECLARE_VISIT) |
1035 #undef DECLARE_VISIT | 1035 #undef DECLARE_VISIT |
1036 virtual void Visit(AstNode* node) override; | 1036 void Visit(AstNode* node) override; |
1037 | 1037 |
1038 void RecurseIntoSubpattern(AstNode* pattern, Expression* value) { | 1038 void RecurseIntoSubpattern(AstNode* pattern, Expression* value) { |
1039 Expression* old_value = current_value_; | 1039 Expression* old_value = current_value_; |
1040 current_value_ = value; | 1040 current_value_ = value; |
1041 pattern->Accept(this); | 1041 pattern->Accept(this); |
1042 current_value_ = old_value; | 1042 current_value_ = old_value; |
1043 } | 1043 } |
1044 | 1044 |
1045 Variable* CreateTempVar(Expression* value = nullptr); | 1045 Variable* CreateTempVar(Expression* value = nullptr); |
1046 | 1046 |
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1385 | 1385 |
1386 DoExpression* ParserTraits::ParseDoExpression(bool* ok) { | 1386 DoExpression* ParserTraits::ParseDoExpression(bool* ok) { |
1387 return parser_->ParseDoExpression(ok); | 1387 return parser_->ParseDoExpression(ok); |
1388 } | 1388 } |
1389 | 1389 |
1390 | 1390 |
1391 } // namespace internal | 1391 } // namespace internal |
1392 } // namespace v8 | 1392 } // namespace v8 |
1393 | 1393 |
1394 #endif // V8_PARSER_H_ | 1394 #endif // V8_PARSER_H_ |
OLD | NEW |