Skip to content
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

Alias analysis for case-of and partial macro matches #5571

Closed
kazcw opened this issue Feb 7, 2023 · 1 comment
Closed

Alias analysis for case-of and partial macro matches #5571

kazcw opened this issue Feb 7, 2023 · 1 comment
Assignees
Labels

Comments

@kazcw
Copy link
Contributor

kazcw commented Feb 7, 2023

General Summary

The old parser supported precise alias analysis of case-of (i.e. was aware of which variable references were the bindings to the left of the arrow, and which were usages), and partial macro matches (e.g. if-without-else).

Motivation

Supporting this functionality will enable more accurate analysis when these constructs are encountered.

@kazcw kazcw added the -parser label Feb 7, 2023
@kazcw kazcw self-assigned this Feb 7, 2023
@github-project-automation github-project-automation bot moved this to ❓New in Issues Board Feb 7, 2023
@kazcw kazcw mentioned this issue Feb 7, 2023
4 tasks
@kazcw kazcw moved this from ❓New to 📤 Backlog in Issues Board Feb 7, 2023
@kazcw
Copy link
Contributor Author

kazcw commented Feb 8, 2023

I've just tested how we currently handle these constructs: The GUI actually would not do anything with this information. We don't need this functionality at this time.

@kazcw kazcw closed this as completed Feb 8, 2023
@github-project-automation github-project-automation bot moved this from 📤 Backlog to 🟢 Accepted in Issues Board Feb 8, 2023
mergify bot pushed a commit that referenced this issue Feb 10, 2023
Use the Rust parser rather than the Scala parser to parse Enso code in the IDE.

Implements:
- https://www.pivotaltracker.com/story/show/182975925
- https://www.pivotaltracker.com/story/show/182988419
- https://www.pivotaltracker.com/story/show/182970096
- https://www.pivotaltracker.com/story/show/182973659
- https://www.pivotaltracker.com/story/show/182974161
- https://www.pivotaltracker.com/story/show/182974205

There is additional functionality needed before the transition is fully-completed, however I think it's time for this to see review and testing, so I've opened separate issues. In rough order of urgency (these issues are also linked from the corresponding disabled tests):
- #5573
- #5571
- #5572
- #5574

# Important Notes
The implementation is based partly on translation, and partly on new analysis. Method- and operator-related shapes are translated to the old `Ast` variants, so that all the analysis applied to them doesn't need to be ported at this time. Everything else (mostly "macros" in the old AST) is implemented with new analysis.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

No branches or pull requests

1 participant