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 › llvm › Builder › WipFunction › WipSwitch Public Struct WipSwitch Doc Source Public Struct std.zig.llvm.Builder.WipFunction.WipSwitch
pub const WipSwitch = struct Fields Functions File zig/llvm/Builder.zig: 6496
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520 pub const WipSwitch = struct {
index : u32 ,
instruction : Instruction .Index ,
pub fn addCase (
self : *WipSwitch ,
val : Constant ,
dest : Block .Index ,
wip : *WipFunction ,
) Allocator .Error !void {
const instruction = wip .instructions .get (@backingInt (self .instruction ));
var extra = wip .extraDataTrail (Instruction .Switch , instruction .data );
assert (val .typeOf (wip .builder ) == extra .data .val .typeOfWip (wip ));
extra .trail .nextMut (extra .data .cases_len , Constant , wip )[self .index ] = val ;
extra .trail .nextMut (extra .data .cases_len , Block .Index , wip )[self .index ] = dest ;
self .index += 1 ;
dest .ptr (wip ).branches += 1 ;
}
pub fn finish (self : WipSwitch , wip : *WipFunction ) void {
const instruction = wip .instructions .get (@backingInt (self .instruction ));
const extra = wip .extraData (Instruction .Switch , instruction .data );
assert (self .index == extra .cases_len );
}
}