Skip to content

Commit 5d1257a

Browse files
committed
rustc: middle: move TraitItemKind from resolve to def.
1 parent d9504d4 commit 5d1257a

File tree

4 files changed

+25
-28
lines changed

4 files changed

+25
-28
lines changed

src/librustc/metadata/csearch.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ use metadata::cstore;
1919
use metadata::decoder;
2020
use middle::def;
2121
use middle::lang_items;
22-
use middle::resolve;
2322
use middle::ty;
2423

2524
use rbml;
@@ -148,7 +147,7 @@ pub fn get_impl_or_trait_item<'tcx>(tcx: &ty::ctxt<'tcx>, def: ast::DefId)
148147
}
149148

150149
pub fn get_trait_item_name_and_kind(cstore: &cstore::CStore, def: ast::DefId)
151-
-> (ast::Name, resolve::TraitItemKind) {
150+
-> (ast::Name, def::TraitItemKind) {
152151
let cdata = cstore.get_crate_data(def.krate);
153152
decoder::get_trait_item_name_and_kind(cstore.intr.clone(),
154153
&*cdata,

src/librustc/metadata/decoder.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ use metadata::tydecode::{parse_ty_data, parse_region_data, parse_def_id,
2727
parse_predicate_data};
2828
use middle::def;
2929
use middle::lang_items;
30-
use middle::resolve::{TraitItemKind, TypeTraitItemKind};
3130
use middle::subst;
3231
use middle::ty::{ImplContainer, TraitContainer};
3332
use middle::ty::{mod, Ty};
@@ -785,15 +784,15 @@ pub fn get_impl_items(cdata: Cmd, impl_id: ast::NodeId)
785784
pub fn get_trait_item_name_and_kind(intr: Rc<IdentInterner>,
786785
cdata: Cmd,
787786
id: ast::NodeId)
788-
-> (ast::Name, TraitItemKind) {
787+
-> (ast::Name, def::TraitItemKind) {
789788
let doc = lookup_item(id, cdata.data());
790789
let name = item_name(&*intr, doc);
791790
match item_sort(doc) {
792791
'r' | 'p' => {
793792
let explicit_self = get_explicit_self(doc);
794-
(name, TraitItemKind::from_explicit_self_category(explicit_self))
793+
(name, def::TraitItemKind::from_explicit_self_category(explicit_self))
795794
}
796-
't' => (name, TypeTraitItemKind),
795+
't' => (name, def::TypeTraitItemKind),
797796
c => {
798797
panic!("get_trait_item_name_and_kind(): unknown trait item kind \
799798
in metadata: `{}`", c)

src/librustc/middle/def.rs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@
1010

1111
pub use self::Def::*;
1212
pub use self::MethodProvenance::*;
13+
pub use self::TraitItemKind::*;
1314

1415
use middle::subst::ParamSpace;
16+
use middle::ty::{ExplicitSelfCategory, StaticExplicitSelfCategory};
1517
use util::nodemap::NodeMap;
1618
use syntax::ast;
1719
use syntax::ast_util::local_def;
@@ -103,6 +105,25 @@ impl TyParamProvenance {
103105
}
104106
}
105107

108+
#[deriving(Clone, Copy, Eq, PartialEq)]
109+
pub enum TraitItemKind {
110+
NonstaticMethodTraitItemKind,
111+
StaticMethodTraitItemKind,
112+
TypeTraitItemKind,
113+
}
114+
115+
impl TraitItemKind {
116+
pub fn from_explicit_self_category(explicit_self_category:
117+
ExplicitSelfCategory)
118+
-> TraitItemKind {
119+
if explicit_self_category == StaticExplicitSelfCategory {
120+
StaticMethodTraitItemKind
121+
} else {
122+
NonstaticMethodTraitItemKind
123+
}
124+
}
125+
}
126+
106127
impl Def {
107128
pub fn def_id(&self) -> ast::DefId {
108129
match *self {
@@ -137,4 +158,3 @@ impl Def {
137158
}
138159
}
139160
}
140-

src/librustc/middle/resolve.rs

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
pub use self::PrivateDep::*;
1212
pub use self::ImportUse::*;
13-
pub use self::TraitItemKind::*;
1413
pub use self::LastPrivate::*;
1514
use self::PatternBindingMode::*;
1615
use self::Namespace::*;
@@ -42,7 +41,6 @@ use middle::def::*;
4241
use middle::lang_items::LanguageItems;
4342
use middle::pat_util::pat_bindings;
4443
use middle::subst::{ParamSpace, FnSpace, TypeSpace};
45-
use middle::ty::{ExplicitSelfCategory, StaticExplicitSelfCategory};
4644
use middle::ty::{CaptureModeMap, Freevar, FreevarMap, TraitMap};
4745
use util::nodemap::{NodeMap, NodeSet, DefIdSet, FnvHashMap};
4846

@@ -323,25 +321,6 @@ enum ModulePrefixResult {
323321
PrefixFound(Rc<Module>, uint)
324322
}
325323

326-
#[deriving(Clone, Copy, Eq, PartialEq)]
327-
pub enum TraitItemKind {
328-
NonstaticMethodTraitItemKind,
329-
StaticMethodTraitItemKind,
330-
TypeTraitItemKind,
331-
}
332-
333-
impl TraitItemKind {
334-
pub fn from_explicit_self_category(explicit_self_category:
335-
ExplicitSelfCategory)
336-
-> TraitItemKind {
337-
if explicit_self_category == StaticExplicitSelfCategory {
338-
StaticMethodTraitItemKind
339-
} else {
340-
NonstaticMethodTraitItemKind
341-
}
342-
}
343-
}
344-
345324
#[deriving(Copy, PartialEq)]
346325
enum NameSearchType {
347326
/// We're doing a name search in order to resolve a `use` directive.

0 commit comments

Comments
 (0)