Index: runtime/vm/ast.h |
diff --git a/runtime/vm/ast.h b/runtime/vm/ast.h |
index 03d65a06f3561c9161e330c1ec2dadd0a08eb75a..fb84f326d115cd5104d638152584a5771d207788 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,28 @@ 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) |