-
Notifications
You must be signed in to change notification settings - Fork 323
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
New AST types #8263
New AST types #8263
Conversation
app/gui2/src/util/ast/abstract.ts
Outdated
* represent the structure are materialized (e.g. parentheses are inserted as needed.) During this printing process, | ||
* the `Tree`s corresponding to preexisting AST nodes are consulted, in order to ensure that the concrete syntax of | ||
* unmodified parts of the output matches the input. This is the only use of `Tree` in the frontend outside of the | ||
* process of translating from `Tree` to frontend AST. |
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.
I'm not sure if this will necessarily be the only use. The concrete AST might still be more suited for things like alias analysis, unless you think that it can be easily implemented on top of this abstract AST as well.
The rest of the API changes, except for using the new AST for editing, will be ready soon (hopefully today). Editing will be a follow-up PR. |
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.
I haven't checked if my comments are resolved, but we agreed to merge it to unblock work. I will re-review the AST-related code once it will be more or less done (with editing).
Pull Request Description
Introduce new AST type; use it to replace current uses of AstExtended; for now edits and synchronization are implemented on the old mechanisms (text edits / RelativeRange id map).
Important Notes
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.All code follows theScala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
If GUI codebase was changed, the GUI was tested when built using./run ide build
.