Index: runtime/vm/ast.h |
diff --git a/runtime/vm/ast.h b/runtime/vm/ast.h |
index 26a6be23579056b760acada4ecfb14a297d92338..c88dc69d472cc492a9be1242fc55979985abdbb8 100644 |
--- a/runtime/vm/ast.h |
+++ b/runtime/vm/ast.h |
@@ -16,6 +16,7 @@ |
namespace dart { |
#define FOR_EACH_NODE(V) \ |
+ V(Await) \ |
V(Return) \ |
V(Literal) \ |
V(Type) \ |
@@ -146,6 +147,26 @@ class AstNode : public ZoneAllocated { |
}; |
+class AwaitNode : public AstNode { |
+ public: |
+ AwaitNode(intptr_t token_pos, AstNode* expr) |
+ : AstNode(token_pos), expr_(expr) { } |
+ |
+ void VisitChildren(AstNodeVisitor* visitor) const { |
+ expr_->Visit(visitor); |
+ } |
+ |
+ AstNode* expr() const { return expr_; } |
+ |
+ DECLARE_COMMON_NODE_FUNCTIONS(AwaitNode); |
+ |
+ private: |
+ AstNode* expr_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(AwaitNode); |
+}; |
+ |
+ |
class SequenceNode : public AstNode { |
public: |
SequenceNode(intptr_t token_pos, LocalScope* scope) |