implement coroutine resume

This commit is contained in:
Andrew Kelley
2018-02-28 22:18:48 -05:00
parent c622766156
commit 8429d4ceac
8 changed files with 89 additions and 4 deletions

View File

@@ -246,6 +246,8 @@ static const char *node_type_str(NodeType node_type) {
return "ErrorSetDecl";
case NodeTypeCancel:
return "Cancel";
case NodeTypeResume:
return "Resume";
case NodeTypeAwaitExpr:
return "AwaitExpr";
case NodeTypeSuspend:
@@ -1049,6 +1051,12 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) {
render_node_grouped(ar, node->data.cancel_expr.expr);
break;
}
case NodeTypeResume:
{
fprintf(ar->f, "resume ");
render_node_grouped(ar, node->data.resume_expr.expr);
break;
}
case NodeTypeAwaitExpr:
{
fprintf(ar->f, "await ");