Zig 0.17.0-dev (Split by item) This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig standard library.
std › zig › Ast › fullAsmComponents Private Function fullAsmComponents Doc Source Private Function std.zig.Ast.fullAsmComponents
fn fullAsmComponents (tree : Ast , info : full .Asm .Components ) full .Asm Params File zig/Ast.zig: 2207
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228 fn fullAsmComponents (tree : Ast , info : full .Asm .Components ) full .Asm {
var result : full .Asm = .{
.ast = info ,
.volatile_token = null ,
.inputs = &.{},
.outputs = &.{},
};
if (tree .tokenTag (info .asm_token + 1 ) == .keyword_volatile ) {
result .volatile_token = info .asm_token + 1 ;
}
const outputs_end : usize = for (info .items , 0 ..) |item , i | {
switch (tree .nodeTag (item )) {
.asm_output => continue ,
else => break i ,
}
} else info .items .len ;
result .outputs = info .items [0 ..outputs_end ];
result .inputs = info .items [outputs_end ..];
return result ;
}