aboutsummaryrefslogtreecommitdiff
path: root/src/ast_render.cpp
diff options
context:
space:
mode:
authorJosh Wolfe <thejoshwolfe@gmail.com>2017-04-12 22:18:56 -0700
committerJosh Wolfe <thejoshwolfe@gmail.com>2017-04-12 23:22:32 -0700
commit356424916ced599852e2c38265eebe7a1fc1637d (patch)
tree2bec2154f1e4bbb93b0f9d5e959aaf491240ccd0 /src/ast_render.cpp
parent919910312d7d25fe8f894adbc9ff8a449ac26281 (diff)
downloadzig-356424916ced599852e2c38265eebe7a1fc1637d.tar.gz
zig-356424916ced599852e2c38265eebe7a1fc1637d.zip
block statement lists never get fake expressions
instead blocks have a field that encodes whether the last statement ended with a semicolon.
Diffstat (limited to 'src/ast_render.cpp')
-rw-r--r--src/ast_render.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/ast_render.cpp b/src/ast_render.cpp
index faebd8f7a3..72906610a4 100644
--- a/src/ast_render.cpp
+++ b/src/ast_render.cpp
@@ -464,8 +464,10 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) {
}
print_indent(ar);
render_node_grouped(ar, statement);
- if (i != node->data.block.statements.length - 1)
+ if (!(i == node->data.block.statements.length - 1 &&
+ node->data.block.last_statement_is_result_expression)) {
fprintf(ar->f, ";");
+ }
fprintf(ar->f, "\n");
}
ar->indent -= ar->indent_size;