fn parsePrefixExpr(p: *Parse) Error!?Node.Index
p: *Parse
1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651
fn parsePrefixExpr(p: *Parse) Error!?Node.Index { const tag: Node.Tag = switch (p.tokenTag(p.tok_i)) { .bang => .bool_not, .minus => .negation, .tilde => .bit_not, .minus_percent => .negation_wrap, .ampersand => .address_of, .keyword_try => .@"try", else => return p.parsePrimaryExpr(), }; return try p.addNode(.{ .tag = tag, .main_token = p.nextToken(), .data = .{ .node = try p.expectPrefixExpr() }, }); }