Separate Definitions and CrateStore from ResolverOutputs.
This commit is contained in:
parent
1f34da9ec8
commit
47799de35a
8 changed files with 72 additions and 75 deletions
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue