feature. See also
. The project being documented here (as the example) is the Zig library itself.
Render.renderAsmOutput
fn renderAsmOutput(
r: *Render,
asm_output: Ast.Node.Index,
space: Space,
) Error!void
File
Code
fn renderAsmOutput(
r: *Render,
asm_output: Ast.Node.Index,
space: Space,
) Error!void {
const tree = r.tree;
assert(tree.nodeTag(asm_output) == .asm_output);
const symbolic_name = tree.nodeMainToken(asm_output);
try renderToken(r, symbolic_name - 1, .none);
try renderIdentifier(r, symbolic_name, .none, .eagerly_unquote);
try renderToken(r, symbolic_name + 1, .space);
try renderToken(r, symbolic_name + 2, .space);
try renderToken(r, symbolic_name + 3, .none);
if (tree.tokenTag(symbolic_name + 4) == .arrow) {
const type_expr, const rparen = tree.nodeData(asm_output).opt_node_and_token;
try renderToken(r, symbolic_name + 4, .maybe_space);
try renderExpression(r, type_expr.unwrap().?, Space.none);
return renderToken(r, rparen, space);
} else {
try renderIdentifier(r, symbolic_name + 4, .none, .eagerly_unquote);
return renderToken(r, symbolic_name + 5, space);
}
}