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 › init Public Function init Doc Source Public Function std.zig.llvm.Builder.WipFunction.init
pub fn init (builder : *Builder , options : struct Params File zig/llvm/Builder.zig: 6383
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417 pub fn init (builder : *Builder , options : struct {
function : Function .Index ,
strip : bool ,
}) Allocator .Error !WipFunction {
var self : WipFunction = .{
.builder = builder ,
.function = options .function ,
.prev_debug_location = .no_location ,
.debug_location = .no_location ,
.cursor = undefined ,
.blocks = .empty ,
.instructions = .empty ,
.names = .empty ,
.strip = options .strip ,
.debug_locations = .empty ,
.debug_values = .empty ,
.extra = .empty ,
};
errdefer self .deinit ();
const params_len = options .function .typeOf (self .builder ).functionParameters (self .builder ).len ;
try self .ensureUnusedExtraCapacity (params_len , NoExtra , 0 );
try self .instructions .ensureUnusedCapacity (self .builder .gpa , params_len );
if (!self .strip ) {
try self .names .ensureUnusedCapacity (self .builder .gpa , params_len );
}
for (0 ..params_len ) |param_index | {
self .instructions .appendAssumeCapacity (.{ .tag = .arg , .data = @intCast (param_index ) });
if (!self .strip ) {
self .names .appendAssumeCapacity (.empty ); // TODO: param names
}
}
return self ;
}