From 356424916ced599852e2c38265eebe7a1fc1637d Mon Sep 17 00:00:00 2001 From: Josh Wolfe Date: Wed, 12 Apr 2017 22:18:56 -0700 Subject: block statement lists never get fake expressions instead blocks have a field that encodes whether the last statement ended with a semicolon. --- src/ast_render.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/ast_render.cpp') 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; -- cgit v1.2.3