1
Fork 0

Fixes to rustdoc, etc.

This commit is contained in:
Nick Cameron 2015-09-29 13:18:05 +13:00
parent 7f469ba6c5
commit bfffa9ecfc
2 changed files with 16 additions and 7 deletions

View file

@ -19,7 +19,7 @@ use rustc::lint;
use rustc::util::nodemap::DefIdSet; use rustc::util::nodemap::DefIdSet;
use rustc_trans::back::link; use rustc_trans::back::link;
use rustc_resolve as resolve; use rustc_resolve as resolve;
use rustc_front::lowering::lower_crate; use rustc_front::lowering::{lower_crate, LoweringContext};
use syntax::{ast, codemap, diagnostic}; use syntax::{ast, codemap, diagnostic};
use syntax::feature_gate::UnstableFeatures; use syntax::feature_gate::UnstableFeatures;
@ -37,7 +37,7 @@ pub use rustc::session::search_paths::SearchPaths;
/// Are we generating documentation (`Typed`) or tests (`NotTyped`)? /// Are we generating documentation (`Typed`) or tests (`NotTyped`)?
pub enum MaybeTyped<'a, 'tcx: 'a> { pub enum MaybeTyped<'a, 'tcx: 'a> {
Typed(&'a ty::ctxt<'tcx>), Typed(&'a ty::ctxt<'tcx>),
NotTyped(session::Session) NotTyped(&'a session::Session)
} }
pub type ExternalPaths = RefCell<Option<HashMap<DefId, pub type ExternalPaths = RefCell<Option<HashMap<DefId,
@ -135,11 +135,13 @@ pub fn run_core(search_paths: SearchPaths, cfgs: Vec<String>, externs: Externs,
let krate = driver::assign_node_ids(&sess, krate); let krate = driver::assign_node_ids(&sess, krate);
// Lower ast -> hir. // Lower ast -> hir.
let mut hir_forest = hir_map::Forest::new(lower_crate(&krate)); let foo = &42;
let lcx = LoweringContext::new(foo, &sess, &krate);
let mut hir_forest = hir_map::Forest::new(lower_crate(&lcx, &krate));
let arenas = ty::CtxtArenas::new(); let arenas = ty::CtxtArenas::new();
let hir_map = driver::make_map(&sess, &mut hir_forest); let hir_map = driver::make_map(&sess, &mut hir_forest);
driver::phase_3_run_analysis_passes(sess, driver::phase_3_run_analysis_passes(&sess,
hir_map, hir_map,
&arenas, &arenas,
name, name,
@ -194,5 +196,5 @@ pub fn run_core(search_paths: SearchPaths, cfgs: Vec<String>, externs: Externs,
*analysis.inlined.borrow_mut() = map; *analysis.inlined.borrow_mut() = map;
analysis.deref_trait_did = ctxt.deref_trait_did.get(); analysis.deref_trait_did = ctxt.deref_trait_did.get();
(krate, analysis) (krate, analysis)
}).1 })
} }

View file

@ -26,7 +26,7 @@ use rustc::front::map as hir_map;
use rustc::session::{self, config}; use rustc::session::{self, config};
use rustc::session::config::{get_unstable_features_setting, OutputType}; use rustc::session::config::{get_unstable_features_setting, OutputType};
use rustc::session::search_paths::{SearchPaths, PathKind}; use rustc::session::search_paths::{SearchPaths, PathKind};
use rustc_front::lowering::lower_crate; use rustc_front::lowering::{lower_crate, LoweringContext};
use rustc_back::tempdir::TempDir; use rustc_back::tempdir::TempDir;
use rustc_driver::{driver, Compilation}; use rustc_driver::{driver, Compilation};
use syntax::codemap::CodeMap; use syntax::codemap::CodeMap;
@ -83,7 +83,9 @@ pub fn run(input: &str,
"rustdoc-test", None) "rustdoc-test", None)
.expect("phase_2_configure_and_expand aborted in rustdoc!"); .expect("phase_2_configure_and_expand aborted in rustdoc!");
let krate = driver::assign_node_ids(&sess, krate); let krate = driver::assign_node_ids(&sess, krate);
let krate = lower_crate(&krate); let foo = &42;
let lcx = LoweringContext::new(foo, &sess, &krate);
let krate = lower_crate(&lcx, &krate);
let opts = scrape_test_config(&krate); let opts = scrape_test_config(&krate);
@ -91,8 +93,13 @@ pub fn run(input: &str,
let map = hir_map::map_crate(&mut forest); let map = hir_map::map_crate(&mut forest);
let ctx = core::DocContext { let ctx = core::DocContext {
<<<<<<< HEAD
map: &map, map: &map,
maybe_typed: core::NotTyped(sess), maybe_typed: core::NotTyped(sess),
=======
krate: &krate,
maybe_typed: core::NotTyped(&sess),
>>>>>>> Fixes to rustdoc, etc.
input: input, input: input,
external_paths: RefCell::new(Some(HashMap::new())), external_paths: RefCell::new(Some(HashMap::new())),
external_traits: RefCell::new(None), external_traits: RefCell::new(None),