Remove unnecessary after_run
function
It's called at the same time and in the same place as `after_krate`, so they can be combined.
This commit is contained in:
parent
1f0fc02cc8
commit
d926147ccb
3 changed files with 30 additions and 23 deletions
|
@ -38,10 +38,14 @@ crate trait FormatRenderer<'tcx>: Clone {
|
||||||
fn mod_item_out(&mut self, item_name: &str) -> Result<(), Error>;
|
fn mod_item_out(&mut self, item_name: &str) -> Result<(), Error>;
|
||||||
|
|
||||||
/// Post processing hook for cleanup and dumping output to files.
|
/// Post processing hook for cleanup and dumping output to files.
|
||||||
fn after_krate(&mut self, krate: &clean::Crate, cache: &Cache) -> Result<(), Error>;
|
///
|
||||||
|
/// A handler is available if the renderer wants to report errors.
|
||||||
/// Called after everything else to write out errors.
|
fn after_krate(
|
||||||
fn after_run(&mut self, diag: &rustc_errors::Handler) -> Result<(), Error>;
|
&mut self,
|
||||||
|
krate: &clean::Crate,
|
||||||
|
cache: &Cache,
|
||||||
|
diag: &rustc_errors::Handler,
|
||||||
|
) -> Result<(), Error>;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Main method for rendering a crate.
|
/// Main method for rendering a crate.
|
||||||
|
@ -104,6 +108,5 @@ crate fn run_format<'tcx, T: FormatRenderer<'tcx>>(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
format_renderer.after_krate(&krate, &cache)?;
|
format_renderer.after_krate(&krate, &cache, diag)
|
||||||
format_renderer.after_run(diag)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,17 +523,12 @@ impl<'tcx> FormatRenderer<'tcx> for Context<'tcx> {
|
||||||
Ok((cx, krate))
|
Ok((cx, krate))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn after_run(&mut self, diag: &rustc_errors::Handler) -> Result<(), Error> {
|
fn after_krate(
|
||||||
Arc::get_mut(&mut self.shared).unwrap().fs.close();
|
&mut self,
|
||||||
let nb_errors = self.errors.iter().map(|err| diag.struct_err(&err).emit()).count();
|
krate: &clean::Crate,
|
||||||
if nb_errors > 0 {
|
cache: &Cache,
|
||||||
Err(Error::new(io::Error::new(io::ErrorKind::Other, "I/O error"), ""))
|
diag: &rustc_errors::Handler,
|
||||||
} else {
|
) -> Result<(), Error> {
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn after_krate(&mut self, krate: &clean::Crate, cache: &Cache) -> Result<(), Error> {
|
|
||||||
let final_file = self.dst.join(&*krate.name.as_str()).join("all.html");
|
let final_file = self.dst.join(&*krate.name.as_str()).join("all.html");
|
||||||
let settings_file = self.dst.join("settings.html");
|
let settings_file = self.dst.join("settings.html");
|
||||||
let crate_name = krate.name;
|
let crate_name = krate.name;
|
||||||
|
@ -596,7 +591,15 @@ impl<'tcx> FormatRenderer<'tcx> for Context<'tcx> {
|
||||||
&style_files,
|
&style_files,
|
||||||
);
|
);
|
||||||
self.shared.fs.write(&settings_file, v.as_bytes())?;
|
self.shared.fs.write(&settings_file, v.as_bytes())?;
|
||||||
Ok(())
|
|
||||||
|
// Flush pending errors.
|
||||||
|
Arc::get_mut(&mut self.shared).unwrap().fs.close();
|
||||||
|
let nb_errors = self.errors.iter().map(|err| diag.struct_err(&err).emit()).count();
|
||||||
|
if nb_errors > 0 {
|
||||||
|
Err(Error::new(io::Error::new(io::ErrorKind::Other, "I/O error"), ""))
|
||||||
|
} else {
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn mod_item_in(
|
fn mod_item_in(
|
||||||
|
|
|
@ -199,7 +199,12 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn after_krate(&mut self, krate: &clean::Crate, cache: &Cache) -> Result<(), Error> {
|
fn after_krate(
|
||||||
|
&mut self,
|
||||||
|
krate: &clean::Crate,
|
||||||
|
cache: &Cache,
|
||||||
|
_diag: &rustc_errors::Handler,
|
||||||
|
) -> Result<(), Error> {
|
||||||
debug!("Done with crate");
|
debug!("Done with crate");
|
||||||
let mut index = (*self.index).clone().into_inner();
|
let mut index = (*self.index).clone().into_inner();
|
||||||
index.extend(self.get_trait_items(cache));
|
index.extend(self.get_trait_items(cache));
|
||||||
|
@ -245,8 +250,4 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> {
|
||||||
serde_json::ser::to_writer(&file, &output).unwrap();
|
serde_json::ser::to_writer(&file, &output).unwrap();
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn after_run(&mut self, _diag: &rustc_errors::Handler) -> Result<(), Error> {
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue