aboutsummaryrefslogtreecommitdiff
path: root/src/ast_render.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-02-05 19:55:37 -0500
committerAndrew Kelley <superjoe30@gmail.com>2017-02-05 19:55:37 -0500
commitd26bb3ae2e9add11ef350e5d7b040dfbe10539be (patch)
tree0a1fe05353903df166f87e9bfb3aaafc89d3ddbd /src/ast_render.cpp
parent7749ffd797e927f93051060db49b76c595879697 (diff)
downloadzig-d26bb3ae2e9add11ef350e5d7b040dfbe10539be.tar.gz
zig-d26bb3ae2e9add11ef350e5d7b040dfbe10539be.zip
fix assigning to const ptr through struct or index
Diffstat (limited to 'src/ast_render.cpp')
-rw-r--r--src/ast_render.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/ast_render.cpp b/src/ast_render.cpp
index c8767031b2..b1e1306c7c 100644
--- a/src/ast_render.cpp
+++ b/src/ast_render.cpp
@@ -786,11 +786,13 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) {
}
case NodeTypeTryExpr:
{
- const char *var_str = node->data.try_expr.var_is_const ? "const" : "var";
- const char *var_name = buf_ptr(node->data.try_expr.var_symbol);
- const char *ptr_str = node->data.try_expr.var_is_ptr ? "*" : "";
- fprintf(ar->f, "try (%s %s%s", var_str, ptr_str, var_name);
- fprintf(ar->f, " = ");
+ fprintf(ar->f, "try (");
+ if (node->data.try_expr.var_symbol) {
+ const char *var_str = node->data.try_expr.var_is_const ? "const" : "var";
+ const char *var_name = buf_ptr(node->data.try_expr.var_symbol);
+ const char *ptr_str = node->data.try_expr.var_is_ptr ? "*" : "";
+ fprintf(ar->f, "%s %s%s = ", var_str, ptr_str, var_name);
+ }
render_node_grouped(ar, node->data.try_expr.target_node);
fprintf(ar->f, ") ");
render_node_grouped(ar, node->data.try_expr.then_node);