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 library itself.
Zig › std/ › zig/ › Ast.zig › fullAsmComponents
fullAsmComponents
Ast.fullAsmComponents
fn fullAsmComponents (tree : Ast , info : full .Asm .Components ) full .Asm
File
Code
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 ;
}