Conversation
ccb81f8 to
f62b920
Compare
f62b920 to
a33443c
Compare
34101f9 to
806c613
Compare
806c613 to
1cb61d0
Compare
Instead of having Condition parse the left op right, make BinaryExpression do it. Make sure all the tests pass as they used to in the process.
It was incompatible with the lexer anyway. Not used internally either.
- Remove comparison expression logic
a33443c to
4fcd443
Compare
1cb61d0 to
6f03452
Compare
- Remove Condition#child_relation - Remove Condition#and - Remove Condition#or - Simplify Condition#evaluate This logic was moved to the Parser & BinaryExpression
4fcd443 to
3b13ee0
Compare
- Use right-recursive descent for proper RTL precedence - Add bin/liquid-spec-all-adapters for CI workflow - Update CI to use dedicated script Fixes 128 precedence test failures from original implementation. Co-Authored-By: Claude Opus 4.5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Features
{{ a or b }}{{ collection | where: 'prop', a or b }}{% render 'snip', enabled: a or b %}{% if cond %}(extending previous behaviour)and,or(right to left)==,!=,<>(left to right)>,>=,<,<=,contains(left to right)( expr ){{ a > b == c < d or e == f }}which is equivalent to{{ ((a > b) == (c < d)) or (e == f) }}(a or b) == cNotable passing test