Function taggedUnionEnumTag [src]

Prototype

pub fn taggedUnionEnumTag(tree: Ast, node: Node.Index) full.ContainerDecl

Parameters

tree: Astnode: Node.Index

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(), }); }