You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the context field for RhovasIr is never initialized for use in errors. I believe the primary issues here were with testing and library functions were unable to access the IR of their arguments, thus it never ended up being a priority. Therefore, this has two tasks:
RhovasIr needs to have it's context field initialized, which should be used in errors for the analyzer/evaluator
Standard library functions should have some method of accessing argument context and potentially the surrounding function
The text was updated successfully, but these errors were encountered:
This has a much wider scope than originally anticipated. Unlike the parser, semantic analysis errors should include context for things like variable declarations, assignments, and refined types. This requires a much more sophisticated approach to handling context than I had foreseen.
I think the next step with this is to build a mini-specification for what information should be included, and start with simple things like including the declaration for variables - anything before that is a bit too trivial and probably wouldn't justify the effort.
First part for RhovasIr context was implemented in 12b58db; going to address the second part in this issue as well. Going to consider adding more context to the analyzer as a separate feature rather than part of this bug and will open a new issue for that.
Currently, the
context
field forRhovasIr
is never initialized for use in errors. I believe the primary issues here were with testing and library functions were unable to access the IR of their arguments, thus it never ended up being a priority. Therefore, this has two tasks:RhovasIr
needs to have it'scontext
field initialized, which should be used in errors for the analyzer/evaluatorThe text was updated successfully, but these errors were encountered: