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

Build a symbol resolution step #5379

Open
IGI-111 opened this issue Dec 12, 2023 · 0 comments · May be fixed by #5809
Open

Build a symbol resolution step #5379

IGI-111 opened this issue Dec 12, 2023 · 0 comments · May be fixed by #5809
Assignees
Labels
big this task is hard and will take a while code quality compiler: collection Everything to do with graph collection, type collection, and the collection context. compiler: frontend Everything to do with type checking, control flow analysis, and everything between parsing and IRgen

Comments

@IGI-111
Copy link
Contributor

IGI-111 commented Dec 12, 2023

Refactor the way we build namespaces and type check into a separate step that resolves all the symbols to unique paths/ids before type checking.

This should help us with issues with the current approach whereby some of this is done on the fly by the namespace resolution and some of it is done by comparing type names as strings.

The idea is to have a three step process:

  1. build a map of the namespace with a location and identifier for all symbols
  2. resolve all names to a location and symbol
  3. then type check
@IGI-111 IGI-111 added compiler: frontend Everything to do with type checking, control flow analysis, and everything between parsing and IRgen compiler: collection Everything to do with graph collection, type collection, and the collection context. labels Dec 12, 2023
@IGI-111 IGI-111 added big this task is hard and will take a while code quality labels Dec 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
big this task is hard and will take a while code quality compiler: collection Everything to do with graph collection, type collection, and the collection context. compiler: frontend Everything to do with type checking, control flow analysis, and everything between parsing and IRgen
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants