aboutsummaryrefslogtreecommitdiff
path: root/src/ast_render.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-12-05 16:55:32 -0500
committerAndrew Kelley <andrew@ziglang.org>2019-12-05 17:07:15 -0500
commit1f602fe8c5b3dea9f00f96e70dad73ebce405b49 (patch)
tree30df1e8c6fd6f4dd99d91679aa02c79e0ff75c5f /src/ast_render.cpp
parent38791ac616069963fd808ec724161b93cbc564c1 (diff)
downloadzig-1f602fe8c5b3dea9f00f96e70dad73ebce405b49.tar.gz
zig-1f602fe8c5b3dea9f00f96e70dad73ebce405b49.zip
implement `@call`
closes #3732
Diffstat (limited to 'src/ast_render.cpp')
-rw-r--r--src/ast_render.cpp23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/ast_render.cpp b/src/ast_render.cpp
index a8fb899ec3..2be932ac8e 100644
--- a/src/ast_render.cpp
+++ b/src/ast_render.cpp
@@ -702,14 +702,29 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) {
switch (node->data.fn_call_expr.modifier) {
case CallModifierNone:
break;
- case CallModifierBuiltin:
- fprintf(ar->f, "@");
+ case CallModifierNoAsync:
+ fprintf(ar->f, "noasync ");
break;
case CallModifierAsync:
fprintf(ar->f, "async ");
break;
- case CallModifierNoAsync:
- fprintf(ar->f, "noasync ");
+ case CallModifierNeverTail:
+ fprintf(ar->f, "notail ");
+ break;
+ case CallModifierNeverInline:
+ fprintf(ar->f, "noinline ");
+ break;
+ case CallModifierAlwaysTail:
+ fprintf(ar->f, "tail ");
+ break;
+ case CallModifierAlwaysInline:
+ fprintf(ar->f, "inline ");
+ break;
+ case CallModifierCompileTime:
+ fprintf(ar->f, "comptime ");
+ break;
+ case CallModifierBuiltin:
+ fprintf(ar->f, "@");
break;
}
AstNode *fn_ref_node = node->data.fn_call_expr.fn_ref_expr;