Split Handler::emit_diagnostic in two.

Currently, `emit_diagnostic` takes `&mut self`.

This commit changes it so `emit_diagnostic` takes `self` and the new
`emit_diagnostic_without_consuming` function takes `&mut self`.

I find the distinction useful. The former case is much more common, and
avoids a bunch of `mut` and `&mut` occurrences. We can also restrict the
latter with `pub(crate)` which is nice.
This commit is contained in:
Nicholas Nethercote 2023-12-14 14:13:35 +11:00
parent 948c9047d5
commit 7045cad330

View File

@ -284,10 +284,8 @@ pub(crate) fn get_original_snippet(&self, file_name: &FileName) -> Option<Lrc<St
// Methods that should be restricted within the parse module. // Methods that should be restricted within the parse module.
impl ParseSess { impl ParseSess {
pub(super) fn emit_diagnostics(&self, diagnostics: Vec<Diagnostic>) { pub(super) fn emit_diagnostics(&self, diagnostics: Vec<Diagnostic>) {
for mut diagnostic in diagnostics { for diagnostic in diagnostics {
self.parse_sess self.parse_sess.span_diagnostic.emit_diagnostic(diagnostic);
.span_diagnostic
.emit_diagnostic(&mut diagnostic);
} }
} }