aboutsummaryrefslogtreecommitdiff
path: root/src/ast_render.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-09-05 00:21:02 -0400
committerAndrew Kelley <superjoe30@gmail.com>2017-09-05 00:21:02 -0400
commitcc621cdee3da956e0976e656d4d310fcad441dad (patch)
tree9c1e5b68b205ba67db9f0548d652d0858795010f /src/ast_render.cpp
parente1d5da20a5d5e54b9dba6031c97fe232192e69cd (diff)
downloadzig-cc621cdee3da956e0976e656d4d310fcad441dad.tar.gz
zig-cc621cdee3da956e0976e656d4d310fcad441dad.zip
fix parseh bugs
Diffstat (limited to 'src/ast_render.cpp')
-rw-r--r--src/ast_render.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/ast_render.cpp b/src/ast_render.cpp
index 8df4dc0436..1ac9d8de79 100644
--- a/src/ast_render.cpp
+++ b/src/ast_render.cpp
@@ -412,14 +412,17 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) {
const char *pub_str = visib_mod_string(node->data.fn_proto.visib_mod);
const char *extern_str = extern_string(node->data.fn_proto.is_extern);
const char *inline_str = inline_string(node->data.fn_proto.is_inline);
- fprintf(ar->f, "%s%s%sfn ", pub_str, inline_str, extern_str);
- print_symbol(ar, node->data.fn_proto.name);
+ fprintf(ar->f, "%s%s%sfn", pub_str, inline_str, extern_str);
+ if (node->data.fn_proto.name != nullptr) {
+ fprintf(ar->f, " ");
+ print_symbol(ar, node->data.fn_proto.name);
+ }
fprintf(ar->f, "(");
size_t arg_count = node->data.fn_proto.params.length;
for (size_t arg_i = 0; arg_i < arg_count; arg_i += 1) {
AstNode *param_decl = node->data.fn_proto.params.at(arg_i);
assert(param_decl->type == NodeTypeParamDecl);
- if (buf_len(param_decl->data.param_decl.name) > 0) {
+ if (param_decl->data.param_decl.name != nullptr) {
const char *noalias_str = param_decl->data.param_decl.is_noalias ? "noalias " : "";
const char *inline_str = param_decl->data.param_decl.is_inline ? "inline " : "";
fprintf(ar->f, "%s%s", noalias_str, inline_str);