Chromium Code Reviews| Index: runtime/vm/ast.h |
| =================================================================== |
| --- runtime/vm/ast.h (revision 44080) |
| +++ runtime/vm/ast.h (working copy) |
| @@ -159,8 +159,18 @@ |
| class AwaitNode : public AstNode { |
| public: |
| - AwaitNode(intptr_t token_pos, AstNode* expr) |
| - : AstNode(token_pos), expr_(expr) { } |
| + AwaitNode(intptr_t token_pos, |
| + AstNode* expr, |
| + LocalScope* try_scope, |
| + int16_t try_index, |
| + LocalScope* outer_try_scope, |
| + intptr_t outer_try_index) |
| + : AstNode(token_pos), |
| + expr_(expr), |
| + try_scope_(try_scope), |
| + try_index_(try_index), |
| + outer_try_scope_(outer_try_scope), |
| + outer_try_index_(outer_try_index) { } |
|
hausner
2015/02/27 18:05:31
I think an await node must always be contained in
regis
2015/02/27 21:41:53
The AwaitNode is constructed when parsing both the
|
| void VisitChildren(AstNodeVisitor* visitor) const { |
| expr_->Visit(visitor); |
| @@ -167,11 +177,19 @@ |
| } |
| AstNode* expr() const { return expr_; } |
| + LocalScope* try_scope() const { return try_scope_; } |
| + int16_t try_index() const { return try_index_; } |
| + LocalScope* outer_try_scope() const { return outer_try_scope_; } |
| + int16_t outer_try_index() const { return outer_try_index_; } |
| DECLARE_COMMON_NODE_FUNCTIONS(AwaitNode); |
| private: |
| AstNode* expr_; |
| + LocalScope* try_scope_; |
| + int16_t try_index_; |
| + LocalScope* outer_try_scope_; |
| + int16_t outer_try_index_; |
| DISALLOW_COPY_AND_ASSIGN(AwaitNode); |
| }; |