| ... | @@ -1772,11 +1772,9 @@ const operTable = std.enums.directEnumArrayDefault(Token.Tag, OperInfo, .{ .prec | ... | @@ -1772,11 +1772,9 @@ const operTable = std.enums.directEnumArrayDefault(Token.Tag, OperInfo, .{ .prec |
| 1772 | // zig fmt: on | 1772 | // zig fmt: on |
| 1773 | }); | 1773 | }); |
| 1774 | | 1774 | |
| 1775 | fn parseExprPrecedence(p: *Parse, min_exc_prec: PrecClass, prev_token_const: u32) Error!?Node.Index { | 1775 | fn parseExprPrecedence(p: *Parse, min_exc_prec: PrecClass, prev_operator_token: u32) Error!?Node.Index { |
| 1776 | var node = try p.parsePrefixExpr() orelse return null; | 1776 | var node = try p.parsePrefixExpr() orelse return null; |
| 1777 | | 1777 | |
| 1778 | var prev_operator_token = prev_token_const; | | |
| 1779 | | | |
| 1780 | while (true) { | 1778 | while (true) { |
| 1781 | const tok_tag = p.tokenTag(p.tok_i); | 1779 | const tok_tag = p.tokenTag(p.tok_i); |
| 1782 | const info = operTable[@backingInt(tok_tag)]; | 1780 | const info = operTable[@backingInt(tok_tag)]; |
| ... | @@ -1884,8 +1882,7 @@ fn parseExprPrecedence(p: *Parse, min_exc_prec: PrecClass, prev_token_const: u32 | ... | @@ -1884,8 +1882,7 @@ fn parseExprPrecedence(p: *Parse, min_exc_prec: PrecClass, prev_token_const: u32 |
| 1884 | } | 1882 | } |
| 1885 | } | 1883 | } |
| 1886 | | 1884 | |
| 1887 | prev_operator_token = oper_token; | 1885 | const rhs = try p.parseExprPrecedence(info.prec, oper_token) orelse { |
| 1888 | const rhs = try p.parseExprPrecedence(info.prec, prev_operator_token) orelse { | | |
| 1889 | try p.warn(.expected_expr); | 1886 | try p.warn(.expected_expr); |
| 1890 | return node; | 1887 | return node; |
| 1891 | }; | 1888 | }; |