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 › appendErrorNodeNotes Private Function appendErrorNodeNotes Doc Source Private Function std.zig.AstGen.appendErrorNodeNotes
fn appendErrorNodeNotes (
astgen : *AstGen ,
node : Ast .Node .Index ,
comptime format : []const u8 ,
args : anytype ,
notes : []const u32 ,
) Allocator .Error !void Params astgen : *AstGen node : Ast .Node .Index format : []const u8 args notes : []const u32 File zig/AstGen.zig: 10812
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838 fn appendErrorNodeNotes (
astgen : *AstGen ,
node : Ast .Node .Index ,
comptime format : []const u8 ,
args : anytype ,
notes : []const u32 ,
) Allocator .Error !void {
@branchHint (.cold );
const gpa = astgen .gpa ;
const string_bytes = &astgen .string_bytes ;
const msg : Zir .NullTerminatedString = @fromBackingInt (@intCast (string_bytes .items .len ));
try string_bytes .print (gpa , format ++ "\x00" , args );
const notes_index : u32 = if (notes .len != 0 ) blk : {
const notes_start = astgen .extra .items .len ;
try astgen .extra .ensureTotalCapacity (gpa , notes_start + 1 + notes .len );
astgen .extra .appendAssumeCapacity (@intCast (notes .len ));
astgen .extra .appendSliceAssumeCapacity (notes );
break :blk @intCast (notes_start );
} else 0 ;
try astgen .compile_errors .append (gpa , .{
.msg = msg ,
.node = node .toOptional (),
.token = .none ,
.byte_offset = 0 ,
.notes = notes_index ,
});
}