aboutsummaryrefslogtreecommitdiff
path: root/src/ast_render.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-09-05 21:55:07 -0400
committerAndrew Kelley <andrew@ziglang.org>2019-09-05 21:55:32 -0400
commit0a3c6dbda92931eba055c2c6447b7a4412408f17 (patch)
tree86d98cd519e628c28efe2fe9e2ff3ec86f55246d /src/ast_render.cpp
parentca70ca7e26aaae3425dad3a2b179f544bacf45e3 (diff)
downloadzig-0a3c6dbda92931eba055c2c6447b7a4412408f17.tar.gz
zig-0a3c6dbda92931eba055c2c6447b7a4412408f17.zip
implement `noasync` function calls
See #3157
Diffstat (limited to 'src/ast_render.cpp')
-rw-r--r--src/ast_render.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/ast_render.cpp b/src/ast_render.cpp
index fedd46a48b..537a74d7b1 100644
--- a/src/ast_render.cpp
+++ b/src/ast_render.cpp
@@ -698,11 +698,18 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) {
}
case NodeTypeFnCallExpr:
{
- if (node->data.fn_call_expr.is_builtin) {
- fprintf(ar->f, "@");
- }
- if (node->data.fn_call_expr.is_async) {
- fprintf(ar->f, "async ");
+ switch (node->data.fn_call_expr.modifier) {
+ case CallModifierNone:
+ break;
+ case CallModifierBuiltin:
+ fprintf(ar->f, "@");
+ break;
+ case CallModifierAsync:
+ fprintf(ar->f, "async ");
+ break;
+ case CallModifierNoAsync:
+ fprintf(ar->f, "noasync ");
+ break;
}
AstNode *fn_ref_node = node->data.fn_call_expr.fn_ref_expr;
bool grouped = (fn_ref_node->type != NodeTypePrefixOpExpr && fn_ref_node->type != NodeTypePointerType);