OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 // enumerated here. | 53 // enumerated here. |
54 | 54 |
55 #define STATEMENT_NODE_LIST(V) \ | 55 #define STATEMENT_NODE_LIST(V) \ |
56 V(Block) \ | 56 V(Block) \ |
57 V(ExpressionStatement) \ | 57 V(ExpressionStatement) \ |
58 V(EmptyStatement) \ | 58 V(EmptyStatement) \ |
59 V(IfStatement) \ | 59 V(IfStatement) \ |
60 V(ContinueStatement) \ | 60 V(ContinueStatement) \ |
61 V(BreakStatement) \ | 61 V(BreakStatement) \ |
62 V(ReturnStatement) \ | 62 V(ReturnStatement) \ |
63 V(EnterWithContextStatement) \ | 63 V(WithStatement) \ |
64 V(ExitContextStatement) \ | 64 V(ExitContextStatement) \ |
65 V(SwitchStatement) \ | 65 V(SwitchStatement) \ |
66 V(DoWhileStatement) \ | 66 V(DoWhileStatement) \ |
67 V(WhileStatement) \ | 67 V(WhileStatement) \ |
68 V(ForStatement) \ | 68 V(ForStatement) \ |
69 V(ForInStatement) \ | 69 V(ForInStatement) \ |
70 V(TryCatchStatement) \ | 70 V(TryCatchStatement) \ |
71 V(TryFinallyStatement) \ | 71 V(TryFinallyStatement) \ |
72 V(DebuggerStatement) | 72 V(DebuggerStatement) |
73 | 73 |
(...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
624 DECLARE_NODE_TYPE(ReturnStatement) | 624 DECLARE_NODE_TYPE(ReturnStatement) |
625 | 625 |
626 Expression* expression() const { return expression_; } | 626 Expression* expression() const { return expression_; } |
627 virtual bool IsInlineable() const; | 627 virtual bool IsInlineable() const; |
628 | 628 |
629 private: | 629 private: |
630 Expression* expression_; | 630 Expression* expression_; |
631 }; | 631 }; |
632 | 632 |
633 | 633 |
634 class EnterWithContextStatement: public Statement { | 634 class WithStatement: public Statement { |
635 public: | 635 public: |
636 explicit EnterWithContextStatement(Expression* expression) | 636 WithStatement(Expression* expression, Statement* statement) |
637 : expression_(expression) { } | 637 : expression_(expression), statement_(statement) { } |
638 | 638 |
639 DECLARE_NODE_TYPE(EnterWithContextStatement) | 639 DECLARE_NODE_TYPE(WithStatement) |
640 | 640 |
641 Expression* expression() const { return expression_; } | 641 Expression* expression() const { return expression_; } |
| 642 Statement* statement() const { return statement_; } |
642 | 643 |
643 virtual bool IsInlineable() const; | 644 virtual bool IsInlineable() const; |
644 | 645 |
645 private: | 646 private: |
646 Expression* expression_; | 647 Expression* expression_; |
| 648 Statement* statement_; |
647 }; | 649 }; |
648 | 650 |
649 | 651 |
650 class ExitContextStatement: public Statement { | 652 class ExitContextStatement: public Statement { |
651 public: | 653 public: |
652 virtual bool IsInlineable() const; | 654 virtual bool IsInlineable() const; |
653 | 655 |
654 DECLARE_NODE_TYPE(ExitContextStatement) | 656 DECLARE_NODE_TYPE(ExitContextStatement) |
655 }; | 657 }; |
656 | 658 |
(...skipping 1583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2240 | 2242 |
2241 private: | 2243 private: |
2242 Isolate* isolate_; | 2244 Isolate* isolate_; |
2243 bool stack_overflow_; | 2245 bool stack_overflow_; |
2244 }; | 2246 }; |
2245 | 2247 |
2246 | 2248 |
2247 } } // namespace v8::internal | 2249 } } // namespace v8::internal |
2248 | 2250 |
2249 #endif // V8_AST_H_ | 2251 #endif // V8_AST_H_ |
OLD | NEW |