add await expr to ast

This commit is contained in:
Unreal Hoang 2019-07-20 19:35:49 +09:00
parent 2830d1376b
commit 5ac9f5cdc7
No known key found for this signature in database
GPG key ID: F66217BDC6F37CFA
4 changed files with 45 additions and 1 deletions

View file

@ -220,6 +220,9 @@ pub enum Expr {
expr: ExprId,
name: Name,
},
Await {
expr: ExprId,
},
Try {
expr: ExprId,
},
@ -359,6 +362,7 @@ impl Expr {
f(*rhs);
}
Expr::Field { expr, .. }
| Expr::Await { expr }
| Expr::Try { expr }
| Expr::Cast { expr, .. }
| Expr::Ref { expr, .. }
@ -729,6 +733,10 @@ where
};
self.alloc_expr(Expr::Field { expr, name }, syntax_ptr)
}
ast::ExprKind::AwaitExpr(e) => {
let expr = self.collect_expr_opt(e.expr());
self.alloc_expr(Expr::Await { expr }, syntax_ptr)
}
ast::ExprKind::TryExpr(e) => {
let expr = self.collect_expr_opt(e.expr());
self.alloc_expr(Expr::Try { expr }, syntax_ptr)