aboutsummaryrefslogtreecommitdiff
path: root/src/ast_render.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-03-01 21:55:15 -0500
committerAndrew Kelley <superjoe30@gmail.com>2018-03-01 21:55:15 -0500
commit7d494b3e7b09403358232dc61f45374d6c26905f (patch)
tree601e35d18140e4a83ca2550b9aeaa7e1415d48e7 /src/ast_render.cpp
parent6568be575cb87c2f54aad2dfa20d1f35471d2224 (diff)
parentde5c0c9f4092a9d5914013e3428af2252da0be81 (diff)
downloadzig-7d494b3e7b09403358232dc61f45374d6c26905f.tar.gz
zig-7d494b3e7b09403358232dc61f45374d6c26905f.zip
Merge branch 'async'
closes #727
Diffstat (limited to 'src/ast_render.cpp')
-rw-r--r--src/ast_render.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/ast_render.cpp b/src/ast_render.cpp
index aed4b3e6db..6318ba3cff 100644
--- a/src/ast_render.cpp
+++ b/src/ast_render.cpp
@@ -244,6 +244,14 @@ static const char *node_type_str(NodeType node_type) {
return "TestExpr";
case NodeTypeErrorSetDecl:
return "ErrorSetDecl";
+ case NodeTypeCancel:
+ return "Cancel";
+ case NodeTypeResume:
+ return "Resume";
+ case NodeTypeAwaitExpr:
+ return "AwaitExpr";
+ case NodeTypeSuspend:
+ return "Suspend";
}
zig_unreachable();
}
@@ -1037,6 +1045,35 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) {
fprintf(ar->f, "}");
break;
}
+ case NodeTypeCancel:
+ {
+ fprintf(ar->f, "cancel ");
+ 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 ");
+ render_node_grouped(ar, node->data.await_expr.expr);
+ break;
+ }
+ case NodeTypeSuspend:
+ {
+ fprintf(ar->f, "suspend");
+ if (node->data.suspend.block != nullptr) {
+ fprintf(ar->f, " |");
+ render_node_grouped(ar, node->data.suspend.promise_symbol);
+ fprintf(ar->f, "| ");
+ render_node_grouped(ar, node->data.suspend.block);
+ }
+ break;
+ }
case NodeTypeFnDecl:
case NodeTypeParamDecl:
case NodeTypeTestDecl: