Move compiler input and ouput paths into session

This commit is contained in:
Oli Scherer
2022-12-07 09:24:00 +00:00
parent 42f75f1e46
commit 9f5cd03153
15 changed files with 113 additions and 154 deletions

View File

@@ -128,10 +128,8 @@ impl<'tcx> Queries<'tcx> {
}
pub fn parse(&self) -> Result<QueryResult<'_, ast::Crate>> {
self.parse.compute(|| {
passes::parse(self.session(), &self.compiler.io.input)
.map_err(|mut parse_error| parse_error.emit())
})
self.parse
.compute(|| passes::parse(self.session()).map_err(|mut parse_error| parse_error.emit()))
}
pub fn register_plugins(&self) -> Result<QueryResult<'_, (ast::Crate, Lrc<LintStore>)>> {
@@ -165,7 +163,7 @@ impl<'tcx> Queries<'tcx> {
let parse_result = self.parse()?;
let krate = parse_result.borrow();
// parse `#[crate_name]` even if `--crate-name` was passed, to make sure it matches.
find_crate_name(self.session(), &krate.attrs, &self.compiler.io.input)
find_crate_name(self.session(), &krate.attrs)
})
})
}
@@ -214,13 +212,7 @@ impl<'tcx> Queries<'tcx> {
let crate_name = *self.crate_name()?.borrow();
let (krate, resolver, lint_store) = self.expansion()?.steal();
let outputs = passes::prepare_outputs(
self.session(),
self.compiler,
&krate,
&resolver,
crate_name,
)?;
let outputs = passes::prepare_outputs(self.session(), &krate, &resolver, crate_name)?;
let ty::ResolverOutputs {
untracked,