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/ › Parse.zig › expectSwitchSuffix
expectSwitchSuffix
Parse.expectSwitchSuffix
fn expectSwitchSuffix (p : *Parse , main_token : TokenIndex ) !Node .Index
File
Code
fn expectSwitchSuffix (p : *Parse , main_token : TokenIndex ) !Node .Index {
_ = try p .expectToken (.l_paren );
const expr_node = try p .expectExpr ();
_ = try p .expectToken (.r_paren );
_ = try p .expectToken (.l_brace );
const cases = try p .parseSwitchProngList ();
const trailing_comma = p .tokenTag (p .tok_i - 1 ) == .comma ;
_ = try p .expectToken (.r_brace );
return p .addNode (.{
.tag = if (trailing_comma ) .switch_comma else .@"switch" ,
.main_token = main_token ,
.data = .{ .node_and_extra = .{
expr_node ,
try p .addExtra (Node .SubRange {
.start = cases .start ,
.end = cases .end ,
}),
} },
});
}