internal: compiler trace free of legacy reports #795
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Legacy reports were being used to output compiler tracing, this was a
mistake, it made tracing slow and complicated, and added yet more
complexity to the legacy reports. This functionality moved from
reports_sem
and other such modules intodebugutils
.Details
This is largely a lift-and-shift movement, data types and procedures are
moved over, chiefly
TraceSemReport
andreportBody
.Along with this move legacy reports cruft like
ReportLineInfo
andinheriting from any legacy reports objects were removed. As well as a
key rename of
TraceSemReport
toCompilerTrace
.A large number of modules were impacted, thankfully mostly removing
dependencies. They already imported
debugutils
so the transitionsimplifies consumers.
Finally, defaulted intermediate stacktraces between detailed traces as
the entire point of this is to see what the compiler is doing, this
was a poor default.