Auto merge of #33538 - Ms2ger:LocalCrateReader, r=arielb1
Refactor code around LocalCrateReader.
This commit is contained in:
commit
d3ec9d43cf
7 changed files with 50 additions and 43 deletions
|
|
@ -20,7 +20,6 @@ extern crate rustc_metadata;
|
|||
extern crate rustc_resolve;
|
||||
#[macro_use] extern crate syntax;
|
||||
|
||||
use std::cell::RefCell;
|
||||
use std::ffi::{CStr, CString};
|
||||
use std::mem::transmute;
|
||||
use std::path::PathBuf;
|
||||
|
|
@ -35,7 +34,7 @@ use rustc::session::config::{self, basic_options, build_configuration, Input, Op
|
|||
use rustc::session::build_session;
|
||||
use rustc_driver::{driver, abort_on_err};
|
||||
use rustc_resolve::MakeGlobMap;
|
||||
use rustc_metadata::creader::LocalCrateReader;
|
||||
use rustc_metadata::creader::read_local_crates;
|
||||
use rustc_metadata::cstore::CStore;
|
||||
use libc::c_void;
|
||||
|
||||
|
|
@ -240,14 +239,14 @@ fn compile_program(input: &str, sysroot: PathBuf)
|
|||
|
||||
let dep_graph = DepGraph::new(sess.opts.build_dep_graph());
|
||||
let krate = driver::assign_node_ids(&sess, krate);
|
||||
let defs = RefCell::new(ast_map::collect_definitions(&krate));
|
||||
LocalCrateReader::new(&sess, &cstore, &defs, &krate, &id).read_crates(&dep_graph);
|
||||
let mut defs = ast_map::collect_definitions(&krate);
|
||||
read_local_crates(&sess, &cstore, &defs, &krate, &id, &dep_graph);
|
||||
let (analysis, resolutions, mut hir_forest) = {
|
||||
let defs = &mut *defs.borrow_mut();
|
||||
driver::lower_and_resolve(&sess, &id, defs, &krate, dep_graph, MakeGlobMap::No)
|
||||
driver::lower_and_resolve(&sess, &id, &mut defs, &krate, dep_graph, MakeGlobMap::No)
|
||||
};
|
||||
|
||||
let arenas = ty::CtxtArenas::new();
|
||||
let ast_map = ast_map::map_crate(&mut hir_forest, &defs);
|
||||
let ast_map = ast_map::map_crate(&mut hir_forest, defs);
|
||||
|
||||
abort_on_err(driver::phase_3_run_analysis_passes(
|
||||
&sess, ast_map, analysis, resolutions, &arenas, &id,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue