diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2019-11-28 11:49:29 +0100 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2019-12-21 23:12:44 +0100 |
| commit | 4dc79f1f7d8aabbed2983a91ba1027373b376a65 (patch) | |
| tree | d14ce8549fc04e51e39fe1f0ae2b7c54cfb4bbe3 /src/librustc_interface | |
| parent | fc5deca2143a448d10a1241a777275e59448c94d (diff) | |
| download | rust-4dc79f1f7d8aabbed2983a91ba1027373b376a65.tar.gz rust-4dc79f1f7d8aabbed2983a91ba1027373b376a65.zip | |
Use Arena inside hir::Crate.
Diffstat (limited to 'src/librustc_interface')
| -rw-r--r-- | src/librustc_interface/passes.rs | 17 | ||||
| -rw-r--r-- | src/librustc_interface/queries.rs | 7 |
2 files changed, 13 insertions, 11 deletions
diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs index 2a4bc41f850..e1c4c86d9d6 100644 --- a/src/librustc_interface/passes.rs +++ b/src/librustc_interface/passes.rs @@ -446,17 +446,18 @@ fn configure_and_expand_inner<'a>( Ok((krate, resolver)) } -pub fn lower_to_hir( - sess: &Session, +pub fn lower_to_hir<'res, 'tcx>( + sess: &'tcx Session, lint_store: &lint::LintStore, - resolver: &mut Resolver<'_>, - dep_graph: &DepGraph, - krate: &ast::Crate, -) -> Result<hir::map::Forest> { + resolver: &'res mut Resolver<'_>, + dep_graph: &'res DepGraph, + krate: &'res ast::Crate, + arena: &'tcx Arena<'tcx>, +) -> Result<hir::map::Forest<'tcx>> { // Lower AST to HIR. let hir_forest = time(sess, "lowering AST -> HIR", || { let nt_to_tokenstream = rustc_parse::nt_to_tokenstream; - let hir_crate = lower_crate(sess, &dep_graph, &krate, resolver, nt_to_tokenstream); + let hir_crate = lower_crate(sess, &dep_graph, &krate, resolver, nt_to_tokenstream, arena); if sess.opts.debugging_opts.hir_stats { hir_stats::print_hir_stats(&hir_crate); @@ -738,7 +739,7 @@ impl<'tcx> QueryContext<'tcx> { pub fn create_global_ctxt<'tcx>( compiler: &'tcx Compiler, lint_store: Lrc<lint::LintStore>, - hir_forest: &'tcx hir::map::Forest, + hir_forest: &'tcx hir::map::Forest<'tcx>, mut resolver_outputs: ResolverOutputs, outputs: OutputFilenames, crate_name: &str, diff --git a/src/librustc_interface/queries.rs b/src/librustc_interface/queries.rs index e429b4d101a..d6de9d5f4e4 100644 --- a/src/librustc_interface/queries.rs +++ b/src/librustc_interface/queries.rs @@ -82,7 +82,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 hir::map::Forest, Steal<ResolverOutputs>)>, + lower_to_hir: Query<(&'tcx hir::map::Forest<'tcx>, Steal<ResolverOutputs>)>, prepare_outputs: Query<OutputFilenames>, global_ctxt: Query<QueryContext<'tcx>>, ongoing_codegen: Query<Box<dyn Any>>, @@ -216,7 +216,7 @@ impl<'tcx> Queries<'tcx> { pub fn lower_to_hir( &'tcx self, - ) -> Result<&Query<(&'tcx hir::map::Forest, Steal<ResolverOutputs>)>> { + ) -> Result<&Query<(&'tcx hir::map::Forest<'tcx>, Steal<ResolverOutputs>)>> { self.lower_to_hir.compute(|| { let expansion_result = self.expansion()?; let peeked = expansion_result.peek(); @@ -229,7 +229,8 @@ impl<'tcx> Queries<'tcx> { lint_store, resolver, &*self.dep_graph()?.peek(), - &krate + &krate, + &self.arena, ) })?; let hir = self.arena.alloc(hir); |
