diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2021-07-14 00:48:51 +0200 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2022-06-14 22:44:27 +0200 |
| commit | 47799de35a118ffc5a24a414fd003428f850fae4 (patch) | |
| tree | 883c1c324b6e4d421cd8e678c656fa06c8c6b641 /compiler/rustc_interface/src | |
| parent | 1f34da9ec8a85b6f86c5fa1c121ab6f88f2f4966 (diff) | |
| download | rust-47799de35a118ffc5a24a414fd003428f850fae4.tar.gz rust-47799de35a118ffc5a24a414fd003428f850fae4.zip | |
Separate Definitions and CrateStore from ResolverOutputs.
Diffstat (limited to 'compiler/rustc_interface/src')
| -rw-r--r-- | compiler/rustc_interface/src/passes.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/compiler/rustc_interface/src/passes.rs b/compiler/rustc_interface/src/passes.rs index 389e6483f30..42520c1d032 100644 --- a/compiler/rustc_interface/src/passes.rs +++ b/compiler/rustc_interface/src/passes.rs @@ -13,6 +13,7 @@ use rustc_data_structures::temp_dir::MaybeTempDir; use rustc_errors::{Applicability, ErrorGuaranteed, MultiSpan, PResult}; use rustc_expand::base::{ExtCtxt, LintStoreExpand, ResolverExpand}; use rustc_hir::def_id::{StableCrateId, LOCAL_CRATE}; +use rustc_hir::definitions::Definitions; use rustc_hir::Crate; use rustc_lint::{EarlyCheckNode, LintStore}; use rustc_metadata::creader::CStore; @@ -28,7 +29,7 @@ use rustc_plugin_impl as plugin; use rustc_query_impl::{OnDiskCache, Queries as TcxQueries}; use rustc_resolve::{Resolver, ResolverArenas}; use rustc_session::config::{CrateType, Input, OutputFilenames, OutputType}; -use rustc_session::cstore::{MetadataLoader, MetadataLoaderDyn}; +use rustc_session::cstore::{CrateStoreDyn, MetadataLoader, MetadataLoaderDyn}; use rustc_session::output::{filename_for_input, filename_for_metadata}; use rustc_session::search_paths::PathKind; use rustc_session::{Limit, Session}; @@ -136,7 +137,9 @@ mod boxed_resolver { f((&mut *resolver).as_mut().unwrap()) } - pub fn to_resolver_outputs(resolver: Rc<RefCell<BoxedResolver>>) -> ResolverOutputs { + pub fn to_resolver_outputs( + resolver: Rc<RefCell<BoxedResolver>>, + ) -> (Definitions, Box<CrateStoreDyn>, ResolverOutputs) { match Rc::try_unwrap(resolver) { Ok(resolver) => { let mut resolver = resolver.into_inner(); @@ -826,7 +829,7 @@ pub fn create_global_ctxt<'tcx>( let sess = &compiler.session(); let krate = resolver.borrow_mut().access(|resolver| lower_to_hir(sess, resolver, krate, hir_arena)); - let resolver_outputs = BoxedResolver::to_resolver_outputs(resolver); + let (definitions, cstore, resolver_outputs) = BoxedResolver::to_resolver_outputs(resolver); let query_result_on_disk_cache = rustc_incremental::load_query_result_cache(sess); @@ -851,6 +854,8 @@ pub fn create_global_ctxt<'tcx>( sess, lint_store, arena, + definitions, + cstore, resolver_outputs, krate, dep_graph, |
