Function switchFull [src]

Prototype

pub fn switchFull(tree: Ast, node: Node.Index) full.Switch

Parameters

tree: Astnode: Node.Index

Source

pub fn switchFull(tree: Ast, node: Node.Index) full.Switch { const main_token = tree.nodeMainToken(node); const switch_token: TokenIndex, const label_token: ?TokenIndex = switch (tree.tokenTag(main_token)) { .identifier => .{ main_token + 2, main_token }, .keyword_switch => .{ main_token, null }, else => unreachable, }; const condition, const extra_index = tree.nodeData(node).node_and_extra; const cases = tree.extraDataSlice(tree.extraData(extra_index, Ast.Node.SubRange), Node.Index); return .{ .ast = .{ .switch_token = switch_token, .condition = condition, .cases = cases, }, .label_token = label_token, }; }