-
-
Notifications
You must be signed in to change notification settings - Fork 500
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(ast): add RestElement
s in serialized AST to elements array
#2567
fix(ast): add RestElement
s in serialized AST to elements array
#2567
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @overlookmotel and the rest of your teammates on Graphite |
CodSpeed Performance ReportMerging #2567 will not alter performanceComparing Summary
|
@Boshen This is incomplete at present. But I came across one query in the process:
oxc/crates/oxc_ast/src/ast/js.rs Lines 1695 to 1699 in 78f8c2c
However, oxc/crates/oxc_ast/src/ast/js.rs Lines 993 to 998 in 78f8c2c
If it's useful to have a span including Either way, it'd be more consistent. |
On one hand I want the version without the On another hand I want to align with the spec, which has the named node 🤔 Let me experiment with which one is better next week. |
OK cool, let's leave this PR as draft for now then, as it'll need to change one way or another. I'm guessing the span including |
After some experimentation, I'm in favor of adding The span for the ellipsis |
OK great. You want to do that, or shall I? |
Oh yeah didn't yet discover that mismatch on my testing but this is needed to be able to produce an ESTree and have correct range for this code |
Does ESTree have a span for the |
For |
Shall we get this PR merged, and I'll follow up with an update for |
Could we possibly do it the other way around? A lot of this PR will need to be reverted after that change. |
Sure, I'll dive in. |
Done in #2601 |
Amazing! Thank you. |
50cbb11
to
07c5190
Compare
@ArnaudBarre I think I've got this right. But could you please check that you can now remove the modifications for I'll need to fix the types created by |
Didn't have time to test today. My current fork is main only so checkout of your branch was not trivial (I didn't find a settings to revert main only fork). @Boshen is there a rule for being able to work directly on the main repo? If this is too early for me I will temporary update the remote of my repo tomorrow to test it |
Oh I'm sorry, I assumed that'd be easy, or I wouldn't have asked. Don't spend your time on it. I'll fix the types, we can get this merged, and then if it's incorrect in some way, can iterate again. |
I started testing, it fixed a weird case I still need to understand if this is an bug from my wrapper or OXC. And I got another issue but maybe related to the binding pattern change, I will continue tonight |
72c3c15
to
eba945f
Compare
4cd286f
to
6981385
Compare
OK, I think this is ready now. Obviously there are more changes still required, but this at least merges @ArnaudBarre Once it's merged please let me know if you find any mistakes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing! I'll never figure out how serde and all these different lifetimes work ...
Merge conflict 😅 Feel free to resolve and merge. |
6981385
to
f2cd4ed
Compare
Oh bollocks! It conflicted with my other PR. Should have stacked them. Conflict fixed now, but please let tests pass before merging. Had to make a lot of changes to fix the conflicts. |
Fix a mistake I made in #2567. Length that `serialize_seq` is called with should only be `+1` if there is a rest element being added on the end. Makes no difference for serializing to JSON, as JSON serializer doesn't use the `len` value, but still better to get it right.
A step towards #2463.
This PR adds
rest
onto end ofelements
/properties
array in JSON AST forObjectPattern
,ArrayPattern
,ObjectAssignmentTarget
,ArrayAssignmentTarget
andFormalParameters
.