block statement lists never get fake expressions
instead blocks have a field that encodes whether the last statement ended with a semicolon.
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user