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 › AstGen › GenZir › makeBreakCommon Private Function makeBreakCommon Doc Source Private Function std.zig.AstGen.GenZir.makeBreakCommon
fn makeBreakCommon (
gz : *GenZir ,
tag : Zir .Inst .Tag ,
block_inst : Zir .Inst .Index ,
operand : Zir .Inst .Ref ,
operand_src_node : ?Ast .Node .Index ,
) !Zir .Inst .Index Params gz : *GenZir tag : Zir .Inst .Tag block_inst : Zir .Inst .Index operand : Zir .Inst .Ref operand_src_node : ?Ast .Node .Index File zig/AstGen.zig: 12150
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176 fn makeBreakCommon (
gz : *GenZir ,
tag : Zir .Inst .Tag ,
block_inst : Zir .Inst .Index ,
operand : Zir .Inst .Ref ,
operand_src_node : ?Ast .Node .Index ,
) !Zir .Inst .Index {
const gpa = gz .astgen .gpa ;
try gz .astgen .instructions .ensureUnusedCapacity (gpa , 1 );
try gz .astgen .extra .ensureUnusedCapacity (gpa , @typeInfo (Zir .Inst .Break ).@"struct" .field_names .len );
const new_index : Zir .Inst .Index = @fromBackingInt (@intCast (gz .astgen .instructions .len ));
gz .astgen .instructions .appendAssumeCapacity (.{
.tag = tag ,
.data = .{ .@"break" = .{
.operand = operand ,
.payload_index = gz .astgen .addExtraAssumeCapacity (Zir .Inst .Break {
.operand_src_node = if (operand_src_node ) |src_node |
gz .nodeIndexToRelative (src_node ).toOptional ()
else
.none ,
.block_inst = block_inst ,
}),
} },
});
return new_index ;
}