diff options
| author | John Kåre Alsaker <john.kare.alsaker@gmail.com> | 2020-02-06 13:41:37 +0100 |
|---|---|---|
| committer | John Kåre Alsaker <john.kare.alsaker@gmail.com> | 2020-02-06 13:41:37 +0100 |
| commit | 623dcb02db0f23270ef4497739dff43ab6f7bcef (patch) | |
| tree | 89e620dcf9c181c66c907f4be40fe4a134a58de3 /src/librustc_interface | |
| parent | 20ce2f6038913058f548f56e1ff1fad29d4df07f (diff) | |
| download | rust-623dcb02db0f23270ef4497739dff43ab6f7bcef.tar.gz rust-623dcb02db0f23270ef4497739dff43ab6f7bcef.zip | |
Remove the `Forest` type
Diffstat (limited to 'src/librustc_interface')
| -rw-r--r-- | src/librustc_interface/passes.rs | 12 | ||||
| -rw-r--r-- | src/librustc_interface/queries.rs | 18 |
2 files changed, 15 insertions, 15 deletions
diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs index bf8bcd71efa..6224c4654d6 100644 --- a/src/librustc_interface/passes.rs +++ b/src/librustc_interface/passes.rs @@ -25,6 +25,7 @@ use rustc_data_structures::{box_region_allow_access, declare_box_region_type, pa use rustc_errors::PResult; use rustc_expand::base::ExtCtxt; use rustc_hir::def_id::{CrateNum, LOCAL_CRATE}; +use rustc_hir::Crate; use rustc_lint::LintStore; use rustc_mir as mir; use rustc_mir_build as mir_build; @@ -422,7 +423,7 @@ pub fn lower_to_hir<'res, 'tcx>( dep_graph: &'res DepGraph, krate: &'res ast::Crate, arena: &'tcx Arena<'tcx>, -) -> Result<map::Forest<'tcx>> { +) -> Crate<'tcx> { // Lower AST to HIR. let hir_crate = rustc_ast_lowering::lower_crate( sess, @@ -437,8 +438,6 @@ pub fn lower_to_hir<'res, 'tcx>( hir_stats::print_hir_stats(&hir_crate); } - let hir_forest = map::Forest::new(hir_crate, &dep_graph); - sess.time("early_lint_checks", || { rustc_lint::check_ast_crate( sess, @@ -455,7 +454,7 @@ pub fn lower_to_hir<'res, 'tcx>( rustc_span::hygiene::clear_syntax_context_map(); } - Ok(hir_forest) + hir_crate } // Returns all the paths that correspond to generated files. @@ -705,7 +704,8 @@ impl<'tcx> QueryContext<'tcx> { pub fn create_global_ctxt<'tcx>( compiler: &'tcx Compiler, lint_store: Lrc<LintStore>, - hir_forest: &'tcx map::Forest<'tcx>, + krate: &'tcx Crate<'tcx>, + dep_graph: DepGraph, mut resolver_outputs: ResolverOutputs, outputs: OutputFilenames, crate_name: &str, @@ -716,7 +716,7 @@ pub fn create_global_ctxt<'tcx>( let defs = mem::take(&mut resolver_outputs.definitions); // Construct the HIR map. - let hir_map = map::map_crate(sess, &*resolver_outputs.cstore, &hir_forest, defs); + let hir_map = map::map_crate(sess, &*resolver_outputs.cstore, krate, dep_graph, defs); let query_result_on_disk_cache = rustc_incremental::load_query_result_cache(sess); diff --git a/src/librustc_interface/queries.rs b/src/librustc_interface/queries.rs index 2ac2845be91..720d162ac81 100644 --- a/src/librustc_interface/queries.rs +++ b/src/librustc_interface/queries.rs @@ -3,7 +3,6 @@ use crate::passes::{self, BoxedResolver, QueryContext}; use rustc::arena::Arena; use rustc::dep_graph::DepGraph; -use rustc::hir::map; use rustc::session::config::{OutputFilenames, OutputType}; use rustc::session::Session; use rustc::ty::steal::Steal; @@ -12,6 +11,7 @@ use rustc::util::common::ErrorReported; use rustc_codegen_utils::codegen_backend::CodegenBackend; use rustc_data_structures::sync::{Lrc, Once, WorkerLocal}; use rustc_hir::def_id::LOCAL_CRATE; +use rustc_hir::Crate; use rustc_incremental::DepGraphFuture; use rustc_lint::LintStore; use std::any::Any; @@ -74,7 +74,7 @@ pub struct Queries<'tcx> { register_plugins: Query<(ast::Crate, Lrc<LintStore>)>, expansion: Query<(ast::Crate, Steal<Rc<RefCell<BoxedResolver>>>, Lrc<LintStore>)>, dep_graph: Query<DepGraph>, - lower_to_hir: Query<(&'tcx map::Forest<'tcx>, Steal<ResolverOutputs>)>, + lower_to_hir: Query<(&'tcx Crate<'tcx>, Steal<ResolverOutputs>)>, prepare_outputs: Query<OutputFilenames>, global_ctxt: Query<QueryContext<'tcx>>, ongoing_codegen: Query<Box<dyn Any>>, @@ -207,9 +207,7 @@ impl<'tcx> Queries<'tcx> { }) } - pub fn lower_to_hir( - &'tcx self, - ) -> Result<&Query<(&'tcx map::Forest<'tcx>, Steal<ResolverOutputs>)>> { + pub fn lower_to_hir(&'tcx self) -> Result<&Query<(&'tcx Crate<'tcx>, Steal<ResolverOutputs>)>> { self.lower_to_hir.compute(|| { let expansion_result = self.expansion()?; let peeked = expansion_result.peek(); @@ -217,14 +215,14 @@ impl<'tcx> Queries<'tcx> { let resolver = peeked.1.steal(); let lint_store = &peeked.2; let hir = resolver.borrow_mut().access(|resolver| { - passes::lower_to_hir( + Ok(passes::lower_to_hir( self.session(), lint_store, resolver, &*self.dep_graph()?.peek(), &krate, &self.arena, - ) + )) })?; let hir = self.arena.alloc(hir); Ok((hir, Steal::new(BoxedResolver::to_resolver_outputs(resolver)))) @@ -253,12 +251,14 @@ impl<'tcx> Queries<'tcx> { let outputs = self.prepare_outputs()?.peek().clone(); let lint_store = self.expansion()?.peek().2.clone(); let hir = self.lower_to_hir()?.peek(); - let (ref hir_forest, ref resolver_outputs) = &*hir; + let dep_graph = self.dep_graph()?.peek().clone(); + let (ref krate, ref resolver_outputs) = &*hir; let _timer = self.session().timer("create_global_ctxt"); Ok(passes::create_global_ctxt( self.compiler, lint_store, - hir_forest, + krate, + dep_graph, resolver_outputs.steal(), outputs, &crate_name, |
