zig reduce: delete statements from blocks

This commit is contained in:
Andrew Kelley
2023-11-04 18:06:11 -07:00
parent 212aa717d7
commit 88acdb9aa6
2 changed files with 11 additions and 3 deletions

View File

@@ -2043,7 +2043,12 @@ fn finishRenderBlock(
.simple_var_decl,
.aligned_var_decl,
=> try renderVarDecl(r, tree.fullVarDecl(stmt).?, false, .semicolon),
else => try renderExpression(r, stmt, .semicolon),
else => {
if (!r.fixups.omit_nodes.contains(stmt)) {
try renderExpression(r, stmt, .semicolon);
}
},
}
}
ais.popIndent();

View File

@@ -134,8 +134,8 @@ fn walkMember(w: *Walk, decl: Ast.Node.Index) Error!void {
const body_node = datas[decl].rhs;
if (!isFnBodyGutted(ast, body_node)) {
try w.transformations.append(.{ .gut_function = decl });
try walkExpression(w, body_node);
}
try walkExpression(w, body_node);
},
.fn_proto_simple,
.fn_proto_multi,
@@ -648,7 +648,10 @@ fn walkBlock(
.aligned_var_decl,
=> try walkLocalVarDecl(w, ast.fullVarDecl(stmt).?),
else => try walkExpression(w, stmt),
else => {
try w.transformations.append(.{ .delete_node = stmt });
try walkExpression(w, stmt);
},
}
}
}