1
Fork 0

move LOCAL_CRATE to cstore

This commit is contained in:
Niko Matsakis 2015-09-01 12:35:05 -04:00
parent 8719f504ee
commit dc4a4ada58
28 changed files with 56 additions and 29 deletions

View file

@ -109,6 +109,10 @@ pub struct CStore {
pub intr: Rc<IdentInterner>, pub intr: Rc<IdentInterner>,
} }
/// Item definitions in the currently-compiled crate would have the CrateNum
/// LOCAL_CRATE in their DefId.
pub const LOCAL_CRATE: ast::CrateNum = 0;
impl CStore { impl CStore {
pub fn new(intr: Rc<IdentInterner>) -> CStore { pub fn new(intr: Rc<IdentInterner>) -> CStore {
CStore { CStore {

View file

@ -20,6 +20,7 @@ use rustc_front::hir;
use back::svh::Svh; use back::svh::Svh;
use metadata::cstore::crate_metadata; use metadata::cstore::crate_metadata;
use metadata::cstore::LOCAL_CRATE;
use metadata::common::*; use metadata::common::*;
use metadata::csearch::MethodInfo; use metadata::csearch::MethodInfo;
use metadata::csearch; use metadata::csearch;
@ -29,7 +30,7 @@ use metadata::index;
use metadata::inline::InlinedItem; use metadata::inline::InlinedItem;
use metadata::tydecode::TyDecoder; use metadata::tydecode::TyDecoder;
use middle::def; use middle::def;
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use middle::lang_items; use middle::lang_items;
use middle::subst; use middle::subst;
use middle::ty::{ImplContainer, TraitContainer}; use middle::ty::{ImplContainer, TraitContainer};

View file

@ -17,12 +17,13 @@ use back::svh::Svh;
use session::config; use session::config;
use metadata::common::*; use metadata::common::*;
use metadata::cstore; use metadata::cstore;
use metadata::cstore::LOCAL_CRATE;
use metadata::decoder; use metadata::decoder;
use metadata::tyencode; use metadata::tyencode;
use metadata::index::{self, IndexEntry}; use metadata::index::{self, IndexEntry};
use metadata::inline::InlinedItemRef; use metadata::inline::InlinedItemRef;
use middle::def; use middle::def;
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use middle::dependency_format::Linkage; use middle::dependency_format::Linkage;
use middle::stability; use middle::stability;
use middle::ty::{self, Ty}; use middle::ty::{self, Ty};

View file

@ -19,6 +19,7 @@ use rustc_front::fold::Folder;
use metadata::common as c; use metadata::common as c;
use metadata::cstore as cstore; use metadata::cstore as cstore;
use metadata::cstore::LOCAL_CRATE;
use session::Session; use session::Session;
use metadata::decoder; use metadata::decoder;
use metadata::encoder as e; use metadata::encoder as e;
@ -31,7 +32,7 @@ use middle::ty::adjustment;
use middle::ty::cast; use middle::ty::cast;
use middle::check_const::ConstQualif; use middle::check_const::ConstQualif;
use middle::def; use middle::def;
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use middle::privacy::{AllPublic, LastMod}; use middle::privacy::{AllPublic, LastMod};
use middle::region; use middle::region;
use middle::subst; use middle::subst;

View file

@ -10,7 +10,8 @@
pub use self::Def::*; pub use self::Def::*;
use middle::def_id::{DefId, LOCAL_CRATE}; use metadata::cstore::LOCAL_CRATE;
use middle::def_id::DefId;
use middle::privacy::LastPrivate; use middle::privacy::LastPrivate;
use middle::subst::ParamSpace; use middle::subst::ParamSpace;
use util::nodemap::NodeMap; use util::nodemap::NodeMap;

View file

@ -8,6 +8,7 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
use metadata::cstore::LOCAL_CRATE;
use middle::ty; use middle::ty;
use syntax::ast::{CrateNum, NodeId}; use syntax::ast::{CrateNum, NodeId};
use std::fmt; use std::fmt;
@ -56,7 +57,3 @@ impl DefId {
} }
/// Item definitions in the currently-compiled crate would have the CrateNum
/// LOCAL_CRATE in their DefId.
pub const LOCAL_CRATE: CrateNum = 0;

View file

@ -16,8 +16,9 @@
// reachable as well. // reachable as well.
use front::map as ast_map; use front::map as ast_map;
use metadata::cstore::LOCAL_CRATE;
use middle::def; use middle::def;
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use middle::ty; use middle::ty;
use middle::privacy; use middle::privacy;
use session::config; use session::config;

View file

@ -13,8 +13,9 @@
use session::Session; use session::Session;
use lint; use lint;
use metadata::cstore::LOCAL_CRATE;
use middle::def; use middle::def;
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use middle::ty; use middle::ty;
use middle::privacy::PublicItems; use middle::privacy::PublicItems;
use metadata::csearch; use metadata::csearch;

View file

@ -17,7 +17,8 @@ use super::PredicateObligation;
use super::project; use super::project;
use super::util; use super::util;
use middle::def_id::{DefId, LOCAL_CRATE}; use metadata::cstore::LOCAL_CRATE;
use middle::def_id::DefId;
use middle::subst::{Subst, Substs, TypeSpace}; use middle::subst::{Subst, Substs, TypeSpace};
use middle::ty::{self, ToPolyTraitRef, Ty}; use middle::ty::{self, ToPolyTraitRef, Ty};
use middle::infer::{self, InferCtxt}; use middle::infer::{self, InferCtxt};

View file

@ -37,7 +37,8 @@ use super::{VtableImplData, VtableObjectData, VtableBuiltinData,
use super::object_safety; use super::object_safety;
use super::util; use super::util;
use middle::def_id::{DefId, LOCAL_CRATE}; use metadata::cstore::LOCAL_CRATE;
use middle::def_id::DefId;
use middle::infer; use middle::infer;
use middle::infer::{InferCtxt, TypeFreshener}; use middle::infer::{InferCtxt, TypeFreshener};
use middle::subst::{Subst, Substs, TypeSpace}; use middle::subst::{Subst, Substs, TypeSpace};

View file

@ -22,9 +22,10 @@ pub use self::LvaluePreference::*;
use front::map as ast_map; use front::map as ast_map;
use front::map::LinkedPath; use front::map::LinkedPath;
use metadata::csearch; use metadata::csearch;
use metadata::cstore::LOCAL_CRATE;
use middle; use middle;
use middle::def::{self, ExportMap}; use middle::def::{self, ExportMap};
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use middle::lang_items::{FnTraitLangItem, FnMutTraitLangItem, FnOnceTraitLangItem}; use middle::lang_items::{FnTraitLangItem, FnMutTraitLangItem, FnOnceTraitLangItem};
use middle::subst::{self, ParamSpace, Subst, Substs, VecPerParamSpace}; use middle::subst::{self, ParamSpace, Subst, Substs, VecPerParamSpace};
use middle::traits; use middle::traits;

View file

@ -20,7 +20,8 @@ use borrowck::LoanPathKind::{LpVar, LpUpvar, LpDowncast, LpExtend};
use borrowck::LoanPathElem::{LpDeref, LpInterior}; use borrowck::LoanPathElem::{LpDeref, LpInterior};
use borrowck::move_data::InvalidMovePathIndex; use borrowck::move_data::InvalidMovePathIndex;
use borrowck::move_data::{MoveData, MovePathIndex}; use borrowck::move_data::{MoveData, MovePathIndex};
use rustc::middle::def_id::{DefId, LOCAL_CRATE}; use rustc::metadata::cstore::LOCAL_CRATE;
use rustc::middle::def_id::{DefId};
use rustc::middle::ty; use rustc::middle::ty;
use rustc::middle::mem_categorization as mc; use rustc::middle::mem_categorization as mc;

View file

@ -8,9 +8,10 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
use metadata::cstore::LOCAL_CRATE;
use middle::ty; use middle::ty;
use middle::def; use middle::def;
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use std::env; use std::env;
use std::fs::{self, File}; use std::fs::{self, File};

View file

@ -35,9 +35,10 @@ use lint;
use llvm::{BasicBlockRef, Linkage, ValueRef, Vector, get_param}; use llvm::{BasicBlockRef, Linkage, ValueRef, Vector, get_param};
use llvm; use llvm;
use metadata::{csearch, encoder, loader}; use metadata::{csearch, encoder, loader};
use metadata::cstore::LOCAL_CRATE;
use middle::astencode; use middle::astencode;
use middle::cfg; use middle::cfg;
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use middle::lang_items::{LangItem, ExchangeMallocFnLangItem, StartFnLangItem}; use middle::lang_items::{LangItem, ExchangeMallocFnLangItem, StartFnLangItem};
use middle::weak_lang_items; use middle::weak_lang_items;
use middle::pat_util::simple_name; use middle::pat_util::simple_name;

View file

@ -22,8 +22,9 @@ use arena::TypedArena;
use back::link; use back::link;
use session; use session;
use llvm::{self, ValueRef, get_params}; use llvm::{self, ValueRef, get_params};
use metadata::cstore::LOCAL_CRATE;
use middle::def; use middle::def;
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use middle::infer::normalize_associated_type; use middle::infer::normalize_associated_type;
use middle::subst; use middle::subst;
use middle::subst::{Substs}; use middle::subst::{Substs};

View file

@ -13,6 +13,7 @@ use back::abi;
use llvm; use llvm;
use llvm::{ConstFCmp, ConstICmp, SetLinkage, SetUnnamedAddr}; use llvm::{ConstFCmp, ConstICmp, SetLinkage, SetUnnamedAddr};
use llvm::{InternalLinkage, ValueRef, Bool, True}; use llvm::{InternalLinkage, ValueRef, Bool, True};
use metadata::cstore::LOCAL_CRATE;
use middle::{check_const, def}; use middle::{check_const, def};
use middle::const_eval::{self, ConstVal}; use middle::const_eval::{self, ConstVal};
use middle::const_eval::{const_int_checked_neg, const_uint_checked_neg}; use middle::const_eval::{const_int_checked_neg, const_uint_checked_neg};
@ -25,7 +26,7 @@ use middle::const_eval::{const_int_checked_shl, const_uint_checked_shl};
use middle::const_eval::{const_int_checked_shr, const_uint_checked_shr}; use middle::const_eval::{const_int_checked_shr, const_uint_checked_shr};
use middle::const_eval::EvalHint::ExprTypeChecked; use middle::const_eval::EvalHint::ExprTypeChecked;
use middle::const_eval::eval_const_expr_partial; use middle::const_eval::eval_const_expr_partial;
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use trans::{adt, closure, debuginfo, expr, inline, machine}; use trans::{adt, closure, debuginfo, expr, inline, machine};
use trans::base::{self, push_ctxt}; use trans::base::{self, push_ctxt};
use trans::common::*; use trans::common::*;

View file

@ -48,11 +48,12 @@
//! case but `&a` in the second. Basically, defaults that appear inside //! case but `&a` in the second. Basically, defaults that appear inside
//! an rptr (`&r.T`) use the region `r` that appears in the rptr. //! an rptr (`&r.T`) use the region `r` that appears in the rptr.
use metadata::cstore::LOCAL_CRATE;
use middle::astconv_util::{prim_ty_to_ty, prohibit_type_params, prohibit_projection}; use middle::astconv_util::{prim_ty_to_ty, prohibit_type_params, prohibit_projection};
use middle::const_eval::{self, ConstVal}; use middle::const_eval::{self, ConstVal};
use middle::const_eval::EvalHint::UncheckedExprHint; use middle::const_eval::EvalHint::UncheckedExprHint;
use middle::def; use middle::def;
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use middle::resolve_lifetime as rl; use middle::resolve_lifetime as rl;
use middle::privacy::{AllPublic, LastMod}; use middle::privacy::{AllPublic, LastMod};
use middle::subst::{FnSpace, TypeSpace, SelfSpace, Subst, Substs, ParamSpace}; use middle::subst::{FnSpace, TypeSpace, SelfSpace, Subst, Substs, ParamSpace};

View file

@ -25,7 +25,8 @@ use super::UnresolvedTypeAction;
use super::write_call; use super::write_call;
use CrateCtxt; use CrateCtxt;
use middle::def_id::{DefId, LOCAL_CRATE}; use metadata::cstore::LOCAL_CRATE;
use middle::def_id::DefId;
use middle::infer; use middle::infer;
use middle::ty::{self, LvaluePreference, Ty}; use middle::ty::{self, LvaluePreference, Ty};
use syntax::codemap::Span; use syntax::codemap::Span;

View file

@ -10,7 +10,8 @@
use check::regionck::{self, Rcx}; use check::regionck::{self, Rcx};
use middle::def_id::{DefId, LOCAL_CRATE}; use metadata::cstore::LOCAL_CRATE;
use middle::def_id::DefId;
use middle::free_region::FreeRegionMap; use middle::free_region::FreeRegionMap;
use middle::infer; use middle::infer;
use middle::region; use middle::region;

View file

@ -83,9 +83,10 @@ use self::TupleArgumentsFlag::*;
use astconv::{self, ast_region_to_region, ast_ty_to_ty, AstConv, PathParamMode}; use astconv::{self, ast_region_to_region, ast_ty_to_ty, AstConv, PathParamMode};
use check::_match::pat_ctxt; use check::_match::pat_ctxt;
use fmt_macros::{Parser, Piece, Position}; use fmt_macros::{Parser, Piece, Position};
use metadata::cstore::LOCAL_CRATE;
use middle::astconv_util::prohibit_type_params; use middle::astconv_util::prohibit_type_params;
use middle::def; use middle::def;
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use middle::infer; use middle::infer;
use middle::infer::type_variable; use middle::infer::type_variable;
use middle::pat_util::{self, pat_id_map}; use middle::pat_util::{self, pat_id_map};

View file

@ -16,7 +16,8 @@
// mappings. That mapping code resides here. // mappings. That mapping code resides here.
use middle::def_id::{DefId, LOCAL_CRATE}; use metadata::cstore::LOCAL_CRATE;
use middle::def_id::DefId;
use middle::lang_items::UnsizeTraitLangItem; use middle::lang_items::UnsizeTraitLangItem;
use middle::subst::{self, Subst}; use middle::subst::{self, Subst};
use middle::traits; use middle::traits;

View file

@ -11,7 +11,8 @@
//! Orphan checker: every impl either implements a trait defined in this //! Orphan checker: every impl either implements a trait defined in this
//! crate or pertains to a type defined in this crate. //! crate or pertains to a type defined in this crate.
use middle::def_id::{DefId, LOCAL_CRATE}; use metadata::cstore::LOCAL_CRATE;
use middle::def_id::DefId;
use middle::traits; use middle::traits;
use middle::ty; use middle::ty;
use syntax::ast; use syntax::ast;

View file

@ -11,7 +11,8 @@
//! Overlap: No two impls for the same trait are implemented for the //! Overlap: No two impls for the same trait are implemented for the
//! same type. //! same type.
use middle::def_id::{DefId, LOCAL_CRATE}; use metadata::cstore::LOCAL_CRATE;
use middle::def_id::DefId;
use middle::traits; use middle::traits;
use middle::ty; use middle::ty;
use middle::infer::{self, new_infer_ctxt}; use middle::infer::{self, new_infer_ctxt};

View file

@ -65,8 +65,9 @@ There are some shortcomings in this design:
*/ */
use astconv::{self, AstConv, ty_of_arg, ast_ty_to_ty, ast_region_to_region}; use astconv::{self, AstConv, ty_of_arg, ast_ty_to_ty, ast_region_to_region};
use metadata::cstore::LOCAL_CRATE;
use middle::def; use middle::def;
use middle::def_id::{DefId, LOCAL_CRATE}; use middle::def_id::DefId;
use constrained_type_params as ctp; use constrained_type_params as ctp;
use middle::lang_items::SizedTraitLangItem; use middle::lang_items::SizedTraitLangItem;
use middle::free_region::FreeRegionMap; use middle::free_region::FreeRegionMap;

View file

@ -266,7 +266,8 @@ use self::ParamKind::*;
use arena; use arena;
use arena::TypedArena; use arena::TypedArena;
use middle::def_id::{DefId, LOCAL_CRATE}; use metadata::cstore::LOCAL_CRATE;
use middle::def_id::DefId;
use middle::resolve_lifetime as rl; use middle::resolve_lifetime as rl;
use middle::subst; use middle::subst;
use middle::subst::{ParamSpace, FnSpace, TypeSpace, SelfSpace, VecPerParamSpace}; use middle::subst::{ParamSpace, FnSpace, TypeSpace, SelfSpace, VecPerParamSpace};

View file

@ -36,10 +36,11 @@ use syntax::ptr::P;
use rustc_trans::back::link; use rustc_trans::back::link;
use rustc::metadata::cstore; use rustc::metadata::cstore;
use rustc::metadata::cstore::LOCAL_CRATE;
use rustc::metadata::csearch; use rustc::metadata::csearch;
use rustc::metadata::decoder; use rustc::metadata::decoder;
use rustc::middle::def; use rustc::middle::def;
use rustc::middle::def_id::{DefId, LOCAL_CRATE}; use rustc::middle::def_id::DefId;
use rustc::middle::subst::{self, ParamSpace, VecPerParamSpace}; use rustc::middle::subst::{self, ParamSpace, VecPerParamSpace};
use rustc::middle::ty; use rustc::middle::ty;
use rustc::middle::stability; use rustc::middle::stability;

View file

@ -18,7 +18,8 @@
use std::fmt; use std::fmt;
use std::iter::repeat; use std::iter::repeat;
use rustc::middle::def_id::{DefId, LOCAL_CRATE}; use rustc::metadata::cstore::LOCAL_CRATE;
use rustc::middle::def_id::DefId;
use syntax::abi::Abi; use syntax::abi::Abi;
use syntax::ast; use syntax::ast;
use rustc_front::hir; use rustc_front::hir;

View file

@ -53,6 +53,7 @@ use externalfiles::ExternalHtml;
use serialize::json::{self, ToJson}; use serialize::json::{self, ToJson};
use syntax::{abi, ast, attr}; use syntax::{abi, ast, attr};
use rustc::metadata::cstore::LOCAL_CRATE;
use rustc::middle::def_id::{DefId, LOCAL_CRATE}; use rustc::middle::def_id::{DefId, LOCAL_CRATE};
use rustc::util::nodemap::NodeSet; use rustc::util::nodemap::NodeSet;
use rustc_front::hir; use rustc_front::hir;