Clean up now that visitors only need &clean::Crate

This commit is contained in:
Noah Lev 2021-10-31 20:59:22 -07:00
parent 28bdf892d6
commit 6215f7c85f
3 changed files with 15 additions and 15 deletions

View File

@ -461,9 +461,9 @@ impl<'tcx> FormatRenderer<'tcx> for Context<'tcx> {
}
}
let (mut krate, local_sources, matches) = collect_spans_and_sources(
let (local_sources, matches) = collect_spans_and_sources(
tcx,
krate,
&krate,
&src_root,
include_sources,
generate_link_to_definition,
@ -522,7 +522,7 @@ impl<'tcx> FormatRenderer<'tcx> for Context<'tcx> {
};
if emit_crate {
krate = sources::render(&mut cx, krate)?;
sources::render(&mut cx, &krate)?;
}
// Build our search index

View File

@ -37,21 +37,21 @@ crate enum LinkFromSrc {
/// only keep the `lo` and `hi`.
crate fn collect_spans_and_sources(
tcx: TyCtxt<'_>,
krate: clean::Crate,
krate: &clean::Crate,
src_root: &Path,
include_sources: bool,
generate_link_to_definition: bool,
) -> (clean::Crate, FxHashMap<PathBuf, String>, FxHashMap<Span, LinkFromSrc>) {
) -> (FxHashMap<PathBuf, String>, FxHashMap<Span, LinkFromSrc>) {
let mut visitor = SpanMapVisitor { tcx, matches: FxHashMap::default() };
if include_sources {
if generate_link_to_definition {
tcx.hir().walk_toplevel_module(&mut visitor);
}
let (krate, sources) = sources::collect_local_sources(tcx, src_root, krate);
(krate, sources, visitor.matches)
let sources = sources::collect_local_sources(tcx, src_root, &krate);
(sources, visitor.matches)
} else {
(krate, Default::default(), Default::default())
(Default::default(), Default::default())
}
}

View File

@ -16,25 +16,25 @@ use std::ffi::OsStr;
use std::fs;
use std::path::{Component, Path, PathBuf};
crate fn render(cx: &mut Context<'_>, krate: clean::Crate) -> Result<clean::Crate, Error> {
crate fn render(cx: &mut Context<'_>, krate: &clean::Crate) -> Result<(), Error> {
info!("emitting source files");
let dst = cx.dst.join("src").join(&*krate.name(cx.tcx()).as_str());
cx.shared.ensure_dir(&dst)?;
let mut collector = SourceCollector { dst, cx, emitted_local_sources: FxHashSet::default() };
collector.visit_crate(&krate);
Ok(krate)
collector.visit_crate(krate);
Ok(())
}
crate fn collect_local_sources<'tcx>(
tcx: TyCtxt<'tcx>,
src_root: &Path,
krate: clean::Crate,
) -> (clean::Crate, FxHashMap<PathBuf, String>) {
krate: &clean::Crate,
) -> FxHashMap<PathBuf, String> {
let mut lsc = LocalSourcesCollector { tcx, local_sources: FxHashMap::default(), src_root };
lsc.visit_crate(&krate);
(krate, lsc.local_sources)
lsc.visit_crate(krate);
lsc.local_sources
}
struct LocalSourcesCollector<'a, 'tcx> {