finishRenderBlock
Function parameters
Parameters
Type definitions in this namespace
Types
Functions in this namespace
Functions
Error sets in this namespace
Error Sets
Source
Implementation
fn finishRenderBlock(
r: *Render,
block_node: Ast.Node.Index,
statements: []const Ast.Node.Index,
space: Space,
) Error!void {
const tree = r.tree;
const ais = r.ais;
for (statements, 0..) |stmt, i| {
if (i != 0) try renderExtraNewline(r, stmt);
if (r.fixups.omit_nodes.contains(stmt)) continue;
try ais.pushSpace(.semicolon);
switch (tree.nodeTag(stmt)) {
.global_var_decl,
.local_var_decl,
.simple_var_decl,
.aligned_var_decl,
=> try renderVarDecl(r, tree.fullVarDecl(stmt).?, false, .semicolon),
else => try renderExpression(r, stmt, .semicolon),
}
ais.popSpace();
}
ais.popIndent();
try renderToken(r, tree.lastToken(block_node), space); // rbrace
}