Source
pub fn taggedUnionEnumTag(tree: Ast, node: Node.Index) full.ContainerDecl {
assert(tree.nodeTag(node) == .tagged_union_enum_tag or
tree.nodeTag(node) == .tagged_union_enum_tag_trailing);
const arg, const extra_index = tree.nodeData(node).node_and_extra;
const members = tree.extraDataSlice(tree.extraData(extra_index, Node.SubRange), Node.Index);
const main_token = tree.nodeMainToken(node);
return tree.fullContainerDeclComponents(.{
.main_token = main_token,
.enum_token = main_token + 2, // union lparen enum
.members = members,
.arg = arg.toOptional(),
});
}