| ... | ... | @@ -2195,6 +2195,17 @@ pub fn parse(allocator: &mem.Allocator, source: []const u8) !ast.Tree { |
| 2195 | 2195 | continue; |
| 2196 | 2196 | }, |
| 2197 | 2197 | Token.Id.Period => { |
| 2198 | if (eatToken(&tok_it, &tree, Token.Id.Asterisk)) |asterisk_token| { |
| 2199 | const node = try arena.construct(ast.Node.SuffixOp{ |
| 2200 | .base = ast.Node{ .id = ast.Node.Id.SuffixOp }, |
| 2201 | .lhs = lhs, |
| 2202 | .op = ast.Node.SuffixOp.Op.Deref, |
| 2203 | .rtoken = asterisk_token, |
| 2204 | }); |
| 2205 | opt_ctx.store(&node.base); |
| 2206 | stack.append(State{ .SuffixOpExpressionEnd = opt_ctx.toRequired() }) catch unreachable; |
| 2207 | continue; |
| 2208 | } |
| 2198 | 2209 | const node = try arena.construct(ast.Node.InfixOp{ |
| 2199 | 2210 | .base = ast.Node{ .id = ast.Node.Id.InfixOp }, |
| 2200 | 2211 | .lhs = lhs, |