feature. See also
. The project being documented here (as the example) is the Zig library itself.
AstRlAnnotate.containerDecl
fn containerDecl(
astrl: *AstRlAnnotate,
block: ?*Block,
full: Ast.full.ContainerDecl,
) !void
File
Code
fn containerDecl(
astrl: *AstRlAnnotate,
block: ?*Block,
full: Ast.full.ContainerDecl,
) !void {
const tree = astrl.tree;
switch (tree.tokenTag(full.ast.main_token)) {
.keyword_struct => {
if (full.ast.arg.unwrap()) |arg| {
_ = try astrl.expr(arg, block, ResultInfo.type_only);
}
for (full.ast.members) |member_node| {
_ = try astrl.expr(member_node, block, ResultInfo.none);
}
},
.keyword_union => {
if (full.ast.arg.unwrap()) |arg| {
_ = try astrl.expr(arg, block, ResultInfo.type_only);
}
for (full.ast.members) |member_node| {
_ = try astrl.expr(member_node, block, ResultInfo.none);
}
},
.keyword_enum => {
if (full.ast.arg.unwrap()) |arg| {
_ = try astrl.expr(arg, block, ResultInfo.type_only);
}
for (full.ast.members) |member_node| {
_ = try astrl.expr(member_node, block, ResultInfo.none);
}
},
.keyword_opaque => {
for (full.ast.members) |member_node| {
_ = try astrl.expr(member_node, block, ResultInfo.none);
}
},
else => unreachable,
}
}