| ... | @@ -1584,18 +1584,13 @@ const Parser = struct { | ... | @@ -1584,18 +1584,13 @@ const Parser = struct { |
| 1584 | _ = p.nextToken(); | 1584 | _ = p.nextToken(); |
| 1585 | const asterisk = p.nextToken(); | 1585 | const asterisk = p.nextToken(); |
| 1586 | var sentinel: Node.Index = 0; | 1586 | var sentinel: Node.Index = 0; |
| 1587 | prefix: { | 1587 | if (p.eatToken(.identifier)) |ident| { |
| 1588 | if (p.eatToken(.identifier)) |ident| { | 1588 | const ident_slice = p.source[p.token_starts[ident]..p.token_starts[ident + 1]]; |
| 1589 | const token_slice = p.source[p.token_starts[ident]..][0..2]; | 1589 | if (!std.mem.eql(u8, std.mem.trimRight(u8, ident_slice, &std.ascii.spaces), "c")) { |
| 1590 | if (!std.mem.eql(u8, token_slice, "c]")) { | 1590 | p.tok_i -= 1; |
| 1591 | p.tok_i -= 1; | | |
| 1592 | } else { | | |
| 1593 | break :prefix; | | |
| 1594 | } | | |
| 1595 | } | | |
| 1596 | if (p.eatToken(.colon)) |_| { | | |
| 1597 | sentinel = try p.expectExpr(); | | |
| 1598 | } | 1591 | } |
| | 1592 | } else if (p.eatToken(.colon)) |_| { |
| | 1593 | sentinel = try p.expectExpr(); |
| 1599 | } | 1594 | } |
| 1600 | _ = try p.expectToken(.r_bracket); | 1595 | _ = try p.expectToken(.r_bracket); |
| 1601 | const mods = try p.parsePtrModifiers(); | 1596 | const mods = try p.parsePtrModifiers(); |