about summary refs log tree commit diff
path: root/compiler/rustc_interface/src
diff options
context:
space:
mode:
authorOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2022-12-06 15:07:00 +0000
committerOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2023-01-16 08:03:06 +0000
commit9e9c871a7842bed0ed566d0ee0726658036d1c1e (patch)
treea6436f4eab74644d0d2c8a0fe0164e06f2de6521 /compiler/rustc_interface/src
parent41edaac716dde55b6a9d83ae4da0fba354ae5ba8 (diff)
downloadrust-9e9c871a7842bed0ed566d0ee0726658036d1c1e.tar.gz
rust-9e9c871a7842bed0ed566d0ee0726658036d1c1e.zip
Remove `prepare_outputs`
Diffstat (limited to 'compiler/rustc_interface/src')
-rw-r--r--compiler/rustc_interface/src/queries.rs28
1 files changed, 9 insertions, 19 deletions
diff --git a/compiler/rustc_interface/src/queries.rs b/compiler/rustc_interface/src/queries.rs
index 041bb9eb7a1..cb07688e2f5 100644
--- a/compiler/rustc_interface/src/queries.rs
+++ b/compiler/rustc_interface/src/queries.rs
@@ -90,7 +90,6 @@ pub struct Queries<'tcx> {
     register_plugins: Query<(ast::Crate, Lrc<LintStore>)>,
     expansion: Query<(Lrc<ast::Crate>, Rc<RefCell<BoxedResolver>>, Lrc<LintStore>)>,
     dep_graph: Query<DepGraph>,
-    prepare_outputs: Query<OutputFilenames>,
     global_ctxt: Query<QueryContext<'tcx>>,
     ongoing_codegen: Query<Box<dyn Any>>,
 }
@@ -109,7 +108,6 @@ impl<'tcx> Queries<'tcx> {
             register_plugins: Default::default(),
             expansion: Default::default(),
             dep_graph: Default::default(),
-            prepare_outputs: Default::default(),
             global_ctxt: Default::default(),
             ongoing_codegen: Default::default(),
         }
@@ -211,32 +209,24 @@ impl<'tcx> Queries<'tcx> {
         })
     }
 
-    pub fn prepare_outputs(&self) -> Result<QueryResult<'_, OutputFilenames>> {
-        self.prepare_outputs.compute(|| {
-            let expansion = self.expansion()?;
-            let (krate, boxed_resolver, _) = &*expansion.borrow();
+    pub fn global_ctxt(&'tcx self) -> Result<QueryResult<'_, QueryContext<'tcx>>> {
+        self.global_ctxt.compute(|| {
             let crate_name = *self.crate_name()?.borrow();
-            passes::prepare_outputs(
+            let (krate, resolver, lint_store) = self.expansion()?.steal();
+
+            let outputs = passes::prepare_outputs(
                 self.session(),
                 self.compiler,
-                krate,
-                &*boxed_resolver,
+                &krate,
+                &resolver,
                 crate_name,
-            )
-        })
-    }
+            )?;
 
-    pub fn global_ctxt(&'tcx self) -> Result<QueryResult<'_, QueryContext<'tcx>>> {
-        self.global_ctxt.compute(|| {
-            let crate_name = *self.crate_name()?.borrow();
-            let outputs = self.prepare_outputs()?.steal();
-            let dep_graph = self.dep_graph()?.borrow().clone();
-            let (krate, resolver, lint_store) = self.expansion()?.steal();
             Ok(passes::create_global_ctxt(
                 self.compiler,
                 lint_store,
                 krate,
-                dep_graph,
+                self.dep_graph()?.steal(),
                 resolver,
                 outputs,
                 crate_name,