| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
The source context of the original definition of a redefined symbol was
being printed when reporting a redefinition error. Since only the
source code containing the redefinition was available, if the original
definition was in a different file then the source context of the
original definition would just pull from this source code and the
context shown would be completely nonsensical.
|
|
|
|
|
| |
Files were moved to be better organised, error messages were changed to
be more general, and a Compiler type was added to the library.
|
|
|
|
|
|
|
|
|
|
| |
A SourceSpan can now contain a child SourceSpan, ad infinitum, in order
to represent a chain of locations. The report_source_issue function
has been changed to print the entire chain, instead of just one
SourceSpan.
The report_source_issue function has also been changed to correctly
print SourceSpans that extend across multiple source lines.
|
|
|
|
|
| |
Instead of displaying two locations for the same error, only show the
in_merged source location if there is no in_source location.
|
| |
|
|
|
|
| |
This is used for debugging symbol definition and resolution issues.
|
|
|
|
|
|
|
|
| |
As well as the already-implemented tracking of the existing definition
of redefinitions, the resolver will now also track the definition that
resolves each reference, and the references resolved by each definition.
Instead of using tuples to hold this information, named wrapper structs
have been created for each category.
|
|
|
|
| |
This is tidier than duplicate imports in every file of the module.
|
|
|
|
|
| |
Indexing into a resolver with a pointer from the same resolver should
never fail, and if it does we don't want to silently squash the error.
|
|
|