diff options
| author | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-03-06 05:46:24 +0000 |
|---|---|---|
| committer | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-03-06 05:46:49 +0000 |
| commit | 2998564615df006440ff4cbb6dc00a91c8a17007 (patch) | |
| tree | f7e29b936735fe2073a1632942d18dc00414929e /src | |
| parent | cbae67aea7f1979251c855c0bd25f5b1a664b53a (diff) | |
| download | rust-2998564615df006440ff4cbb6dc00a91c8a17007.tar.gz rust-2998564615df006440ff4cbb6dc00a91c8a17007.zip | |
Refactor away `ExternalExports`
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_driver/driver.rs | 5 | ||||
| -rw-r--r-- | src/librustc_privacy/lib.rs | 8 | ||||
| -rw-r--r-- | src/librustc_resolve/build_reduced_graph.rs | 14 | ||||
| -rw-r--r-- | src/librustc_resolve/lib.rs | 7 |
4 files changed, 3 insertions, 31 deletions
diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs index 9c1be4c9f2f..77feec93268 100644 --- a/src/librustc_driver/driver.rs +++ b/src/librustc_driver/driver.rs @@ -761,7 +761,6 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(sess: &'tcx Session, freevars, export_map, trait_map, - external_exports, glob_map, } = time(time_passes, "resolution", @@ -822,9 +821,7 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(sess: &'tcx Session, analysis.access_levels = time(time_passes, "privacy checking", || { - rustc_privacy::check_crate(tcx, - &analysis.export_map, - external_exports) + rustc_privacy::check_crate(tcx, &analysis.export_map) }); // Do not move this check past lint diff --git a/src/librustc_privacy/lib.rs b/src/librustc_privacy/lib.rs index 60ac2717aeb..82f4ad1d746 100644 --- a/src/librustc_privacy/lib.rs +++ b/src/librustc_privacy/lib.rs @@ -42,7 +42,6 @@ use rustc::middle::cstore::CrateStore; use rustc::middle::def::{self, Def}; use rustc::middle::def_id::DefId; use rustc::middle::privacy::{AccessLevel, AccessLevels}; -use rustc::middle::privacy::ExternalExports; use rustc::middle::ty::{self, TyCtxt}; use rustc::util::nodemap::{NodeMap, NodeSet}; use rustc::front::map as ast_map; @@ -477,7 +476,6 @@ struct PrivacyVisitor<'a, 'tcx: 'a> { curitem: ast::NodeId, in_foreign: bool, parents: NodeMap<ast::NodeId>, - external_exports: ExternalExports, } #[derive(Debug)] @@ -1568,10 +1566,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for PrivateItemsInPublicInterfacesVisitor<'a, 'tc } } -pub fn check_crate(tcx: &TyCtxt, - export_map: &def::ExportMap, - external_exports: ExternalExports) - -> AccessLevels { +pub fn check_crate(tcx: &TyCtxt, export_map: &def::ExportMap) -> AccessLevels { let _task = tcx.dep_graph.in_task(DepNode::Privacy); let krate = tcx.map.krate(); @@ -1594,7 +1589,6 @@ pub fn check_crate(tcx: &TyCtxt, in_foreign: false, tcx: tcx, parents: visitor.parents, - external_exports: external_exports, }; intravisit::walk_crate(&mut visitor, krate); diff --git a/src/librustc_resolve/build_reduced_graph.rs b/src/librustc_resolve/build_reduced_graph.rs index b3d7be4775e..884196a97af 100644 --- a/src/librustc_resolve/build_reduced_graph.rs +++ b/src/librustc_resolve/build_reduced_graph.rs @@ -289,7 +289,6 @@ impl<'a, 'b:'a, 'tcx:'b> GraphBuilder<'a, 'b, 'tcx> { krate: crate_id, index: CRATE_DEF_INDEX, }; - self.external_exports.insert(def_id); let parent_link = ModuleParentLink(parent, name); let def = Def::Mod(def_id); let module = self.new_extern_crate_module(parent_link, def, is_public, item.id); @@ -495,15 +494,6 @@ impl<'a, 'b:'a, 'tcx:'b> GraphBuilder<'a, 'b, 'tcx> { modifiers = modifiers | DefModifiers::IMPORTABLE; } - let is_exported = is_public && - match new_parent.def_id() { - None => true, - Some(did) => self.external_exports.contains(&did), - }; - if is_exported { - self.external_exports.insert(def.def_id()); - } - match def { Def::Mod(_) | Def::ForeignMod(_) | Def::Enum(..) | Def::TyAlias(..) => { debug!("(building reduced graph for external crate) building module {} {}", @@ -552,10 +542,6 @@ impl<'a, 'b:'a, 'tcx:'b> GraphBuilder<'a, 'b, 'tcx> { trait_item_name); self.trait_item_map.insert((trait_item_name, def_id), trait_item_def.def_id()); - - if is_exported { - self.external_exports.insert(trait_item_def.def_id()); - } } let parent_link = ModuleParentLink(new_parent, name); diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index a205bfb98ac..970f54207ba 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -55,10 +55,9 @@ use rustc::middle::cstore::{CrateStore, DefLike, DlDef}; use rustc::middle::def::*; use rustc::middle::def_id::DefId; use rustc::middle::pat_util::pat_bindings; -use rustc::middle::privacy::ExternalExports; use rustc::middle::subst::{ParamSpace, FnSpace, TypeSpace}; use rustc::middle::ty::{Freevar, FreevarMap, TraitMap, GlobMap}; -use rustc::util::nodemap::{NodeMap, DefIdSet, FnvHashMap}; +use rustc::util::nodemap::{NodeMap, FnvHashMap}; use syntax::ast::{self, FloatTy}; use syntax::ast::{CRATE_NODE_ID, Name, NodeId, CrateNum, IntTy, UintTy}; @@ -1093,7 +1092,6 @@ pub struct Resolver<'a, 'tcx: 'a> { freevars_seen: NodeMap<NodeMap<usize>>, export_map: ExportMap, trait_map: TraitMap, - external_exports: ExternalExports, // Whether or not to print error messages. Can be set to true // when getting additional info for error message suggestions, @@ -1184,7 +1182,6 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> { trait_map: NodeMap(), used_imports: HashSet::new(), used_crates: HashSet::new(), - external_exports: DefIdSet(), emit_errors: true, make_glob_map: make_glob_map == MakeGlobMap::Yes, @@ -3716,7 +3713,6 @@ pub struct CrateMap { pub freevars: FreevarMap, pub export_map: ExportMap, pub trait_map: TraitMap, - pub external_exports: ExternalExports, pub glob_map: Option<GlobMap>, } @@ -3754,7 +3750,6 @@ pub fn resolve_crate<'a, 'tcx>(session: &'a Session, freevars: resolver.freevars, export_map: resolver.export_map, trait_map: resolver.trait_map, - external_exports: resolver.external_exports, glob_map: if resolver.make_glob_map { Some(resolver.glob_map) } else { |
