Skip to content

Commit a4af958

Browse files
committed
Use Names in HIR Items
1 parent ae77dbb commit a4af958

File tree

35 files changed

+206
-205
lines changed

35 files changed

+206
-205
lines changed

src/librustc/front/map/blocks.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ pub use self::Code::*;
2626
use front::map::{self, Node};
2727
use syntax::abi;
2828
use rustc_front::hir::{Block, FnDecl};
29-
use syntax::ast::{NodeId, Ident};
29+
use syntax::ast::{Name, NodeId};
3030
use rustc_front::hir as ast;
3131
use syntax::codemap::Span;
3232
use rustc_front::visit::FnKind;
@@ -107,7 +107,7 @@ impl<'a> Code<'a> {
107107
/// These are all the components one can extract from a fn item for
108108
/// use when implementing FnLikeNode operations.
109109
struct ItemFnParts<'a> {
110-
ident: Ident,
110+
name: Name,
111111
decl: &'a ast::FnDecl,
112112
unsafety: ast::Unsafety,
113113
constness: ast::Constness,
@@ -189,21 +189,21 @@ impl<'a> FnLikeNode<'a> {
189189

190190
pub fn kind(self) -> FnKind<'a> {
191191
let item = |p: ItemFnParts<'a>| -> FnKind<'a> {
192-
FnKind::ItemFn(p.ident.name, p.generics, p.unsafety, p.constness, p.abi, p.vis)
192+
FnKind::ItemFn(p.name, p.generics, p.unsafety, p.constness, p.abi, p.vis)
193193
};
194194
let closure = |_: ClosureParts| {
195195
FnKind::Closure
196196
};
197-
let method = |_, ident: Ident, sig: &'a ast::MethodSig, vis, _, _| {
198-
FnKind::Method(ident.name, sig, vis)
197+
let method = |_, name: Name, sig: &'a ast::MethodSig, vis, _, _| {
198+
FnKind::Method(name, sig, vis)
199199
};
200200
self.handle(item, method, closure)
201201
}
202202

203203
fn handle<A, I, M, C>(self, item_fn: I, method: M, closure: C) -> A where
204204
I: FnOnce(ItemFnParts<'a>) -> A,
205205
M: FnOnce(NodeId,
206-
Ident,
206+
Name,
207207
&'a ast::MethodSig,
208208
Option<ast::Visibility>,
209209
&'a ast::Block,
@@ -216,7 +216,7 @@ impl<'a> FnLikeNode<'a> {
216216
ast::ItemFn(ref decl, unsafety, constness, abi, ref generics, ref block) =>
217217
item_fn(ItemFnParts {
218218
id: i.id,
219-
ident: i.ident,
219+
name: i.name,
220220
decl: &**decl,
221221
unsafety: unsafety,
222222
body: &**block,
@@ -230,14 +230,14 @@ impl<'a> FnLikeNode<'a> {
230230
},
231231
map::NodeTraitItem(ti) => match ti.node {
232232
ast::MethodTraitItem(ref sig, Some(ref body)) => {
233-
method(ti.id, ti.ident, sig, None, body, ti.span)
233+
method(ti.id, ti.name, sig, None, body, ti.span)
234234
}
235235
_ => panic!("trait method FnLikeNode that is not fn-like"),
236236
},
237237
map::NodeImplItem(ii) => {
238238
match ii.node {
239239
ast::MethodImplItem(ref sig, ref body) => {
240-
method(ii.id, ii.ident, sig, Some(ii.vis), body, ii.span)
240+
method(ii.id, ii.name, sig, Some(ii.vis), body, ii.span)
241241
}
242242
_ => {
243243
panic!("impl method FnLikeNode that is not fn-like")

src/librustc/front/map/mod.rs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use metadata::inline::InlinedItem as II;
1717
use middle::def_id::DefId;
1818

1919
use syntax::abi;
20-
use syntax::ast::{self, Name, NodeId, Ident, CRATE_NODE_ID, DUMMY_NODE_ID};
20+
use syntax::ast::{self, Name, NodeId, CRATE_NODE_ID, DUMMY_NODE_ID};
2121
use syntax::codemap::{Span, Spanned};
2222
use syntax::parse::token;
2323

@@ -475,14 +475,14 @@ impl<'ast> Map<'ast> {
475475
NodeItem(item) => {
476476
match item.node {
477477
ItemMod(_) | ItemForeignMod(_) => {
478-
PathMod(item.ident.name)
478+
PathMod(item.name)
479479
}
480-
_ => PathName(item.ident.name)
480+
_ => PathName(item.name)
481481
}
482482
}
483-
NodeForeignItem(i) => PathName(i.ident.name),
484-
NodeImplItem(ii) => PathName(ii.ident.name),
485-
NodeTraitItem(ti) => PathName(ti.ident.name),
483+
NodeForeignItem(i) => PathName(i.name),
484+
NodeImplItem(ii) => PathName(ii.name),
485+
NodeTraitItem(ti) => PathName(ti.name),
486486
NodeVariant(v) => PathName(v.node.name.name),
487487
NodeLifetime(lt) => PathName(lt.name),
488488
_ => panic!("no path elem for {:?}", node)
@@ -499,9 +499,9 @@ impl<'ast> Map<'ast> {
499499
self.with_path(id, |path| path_to_string(path))
500500
}
501501

502-
fn path_to_str_with_ident(&self, id: NodeId, i: Ident) -> String {
502+
fn path_to_str_with_name(&self, id: NodeId, name: Name) -> String {
503503
self.with_path(id, |path| {
504-
path_to_string(path.chain(Some(PathName(i.name))))
504+
path_to_string(path.chain(Some(PathName(name))))
505505
})
506506
}
507507

@@ -652,7 +652,7 @@ impl<'a, 'ast> NodesMatchingSuffix<'a, 'ast> {
652652
match map.find(id) {
653653
None => return None,
654654
Some(NodeItem(item)) if item_is_mod(&*item) =>
655-
return Some((id, item.ident.name)),
655+
return Some((id, item.name)),
656656
_ => {}
657657
}
658658
let parent = map.get_parent(id);
@@ -708,11 +708,11 @@ trait Named {
708708

709709
impl<T:Named> Named for Spanned<T> { fn name(&self) -> Name { self.node.name() } }
710710

711-
impl Named for Item { fn name(&self) -> Name { self.ident.name } }
712-
impl Named for ForeignItem { fn name(&self) -> Name { self.ident.name } }
711+
impl Named for Item { fn name(&self) -> Name { self.name } }
712+
impl Named for ForeignItem { fn name(&self) -> Name { self.name } }
713713
impl Named for Variant_ { fn name(&self) -> Name { self.name.name } }
714-
impl Named for TraitItem { fn name(&self) -> Name { self.ident.name } }
715-
impl Named for ImplItem { fn name(&self) -> Name { self.ident.name } }
714+
impl Named for TraitItem { fn name(&self) -> Name { self.name } }
715+
impl Named for ImplItem { fn name(&self) -> Name { self.name } }
716716

717717
pub trait FoldOps {
718718
fn new_id(&self, id: NodeId) -> NodeId {
@@ -1040,7 +1040,7 @@ fn node_id_to_string(map: &Map, id: NodeId, include_id: bool) -> String {
10401040

10411041
match map.find(id) {
10421042
Some(NodeItem(item)) => {
1043-
let path_str = map.path_to_str_with_ident(id, item.ident);
1043+
let path_str = map.path_to_str_with_name(id, item.name);
10441044
let item_str = match item.node {
10451045
ItemExternCrate(..) => "extern crate",
10461046
ItemUse(..) => "use",
@@ -1059,25 +1059,25 @@ fn node_id_to_string(map: &Map, id: NodeId, include_id: bool) -> String {
10591059
format!("{} {}{}", item_str, path_str, id_str)
10601060
}
10611061
Some(NodeForeignItem(item)) => {
1062-
let path_str = map.path_to_str_with_ident(id, item.ident);
1062+
let path_str = map.path_to_str_with_name(id, item.name);
10631063
format!("foreign item {}{}", path_str, id_str)
10641064
}
10651065
Some(NodeImplItem(ii)) => {
10661066
match ii.node {
10671067
ConstImplItem(..) => {
10681068
format!("assoc const {} in {}{}",
1069-
ii.ident,
1069+
ii.name,
10701070
map.path_to_string(id),
10711071
id_str)
10721072
}
10731073
MethodImplItem(..) => {
10741074
format!("method {} in {}{}",
1075-
ii.ident,
1075+
ii.name,
10761076
map.path_to_string(id), id_str)
10771077
}
10781078
TypeImplItem(_) => {
10791079
format!("assoc type {} in {}{}",
1080-
ii.ident,
1080+
ii.name,
10811081
map.path_to_string(id),
10821082
id_str)
10831083
}
@@ -1092,7 +1092,7 @@ fn node_id_to_string(map: &Map, id: NodeId, include_id: bool) -> String {
10921092

10931093
format!("{} {} in {}{}",
10941094
kind,
1095-
ti.ident,
1095+
ti.name,
10961096
map.path_to_string(id),
10971097
id_str)
10981098
}

src/librustc/metadata/creader.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,17 +201,17 @@ impl<'a> CrateReader<'a> {
201201
match i.node {
202202
hir::ItemExternCrate(ref path_opt) => {
203203
debug!("resolving extern crate stmt. ident: {} path_opt: {:?}",
204-
i.ident, path_opt);
204+
i.name, path_opt);
205205
let name = match *path_opt {
206206
Some(name) => {
207207
validate_crate_name(Some(self.sess), &name.as_str(),
208208
Some(i.span));
209209
name.to_string()
210210
}
211-
None => i.ident.to_string(),
211+
None => i.name.to_string(),
212212
};
213213
Some(CrateInfo {
214-
ident: i.ident.to_string(),
214+
ident: i.name.to_string(),
215215
name: name,
216216
id: i.id,
217217
should_link: should_link_hir(i),

src/librustc/metadata/encoder.rs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -426,16 +426,16 @@ fn encode_reexported_static_methods(ecx: &EncodeContext,
426426
// encoded metadata for static methods relative to Bar,
427427
// but not yet for Foo.
428428
//
429-
if path_differs || item.ident.name != exp.name {
429+
if path_differs || item.name != exp.name {
430430
if !encode_reexported_static_base_methods(ecx, rbml_w, exp) {
431431
if encode_reexported_static_trait_methods(ecx, rbml_w, exp) {
432432
debug!("(encode reexported static methods) {} [trait]",
433-
item.ident.name);
433+
item.name);
434434
}
435435
}
436436
else {
437437
debug!("(encode reexported static methods) {} [base]",
438-
item.ident.name);
438+
item.name);
439439
}
440440
}
441441
}
@@ -520,7 +520,7 @@ fn encode_info_for_mod(ecx: &EncodeContext,
520520
});
521521

522522
if let hir::ItemImpl(..) = item.node {
523-
let (ident, did) = (item.ident, item.id);
523+
let (ident, did) = (item.name, item.id);
524524
debug!("(encoding info for module) ... encoding impl {} ({}/{})",
525525
ident,
526526
did, ecx.tcx.map.node_to_string(did));
@@ -1014,7 +1014,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
10141014
}
10151015
encode_bounds_and_type_for_item(rbml_w, ecx, item.id);
10161016
encode_symbol(ecx, rbml_w, item.id);
1017-
encode_name(rbml_w, item.ident.name);
1017+
encode_name(rbml_w, item.name);
10181018
encode_path(rbml_w, path);
10191019
encode_visibility(rbml_w, vis);
10201020
encode_stability(rbml_w, stab);
@@ -1027,7 +1027,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
10271027
encode_def_id(rbml_w, def_id);
10281028
encode_family(rbml_w, 'C');
10291029
encode_bounds_and_type_for_item(rbml_w, ecx, item.id);
1030-
encode_name(rbml_w, item.ident.name);
1030+
encode_name(rbml_w, item.name);
10311031
encode_path(rbml_w, path);
10321032
encode_attributes(rbml_w, &item.attrs);
10331033
encode_inlined_item(ecx, rbml_w, InlinedItemRef::Item(item));
@@ -1042,7 +1042,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
10421042
encode_family(rbml_w, FN_FAMILY);
10431043
let tps_len = generics.ty_params.len();
10441044
encode_bounds_and_type_for_item(rbml_w, ecx, item.id);
1045-
encode_name(rbml_w, item.ident.name);
1045+
encode_name(rbml_w, item.name);
10461046
encode_path(rbml_w, path);
10471047
encode_attributes(rbml_w, &item.attrs);
10481048
let needs_inline = tps_len > 0 || attr::requests_inline(&item.attrs);
@@ -1066,15 +1066,15 @@ fn encode_info_for_item(ecx: &EncodeContext,
10661066
&item.attrs,
10671067
item.id,
10681068
path,
1069-
item.ident.name,
1069+
item.name,
10701070
item.vis);
10711071
}
10721072
hir::ItemForeignMod(ref fm) => {
10731073
add_to_index(item, rbml_w, index);
10741074
rbml_w.start_tag(tag_items_data_item);
10751075
encode_def_id(rbml_w, def_id);
10761076
encode_family(rbml_w, 'n');
1077-
encode_name(rbml_w, item.ident.name);
1077+
encode_name(rbml_w, item.name);
10781078
encode_path(rbml_w, path);
10791079

10801080
// Encode all the items in this module.
@@ -1092,7 +1092,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
10921092
encode_def_id(rbml_w, def_id);
10931093
encode_family(rbml_w, 'y');
10941094
encode_bounds_and_type_for_item(rbml_w, ecx, item.id);
1095-
encode_name(rbml_w, item.ident.name);
1095+
encode_name(rbml_w, item.name);
10961096
encode_path(rbml_w, path);
10971097
encode_visibility(rbml_w, vis);
10981098
encode_stability(rbml_w, stab);
@@ -1106,7 +1106,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
11061106
encode_family(rbml_w, 't');
11071107
encode_item_variances(rbml_w, ecx, item.id);
11081108
encode_bounds_and_type_for_item(rbml_w, ecx, item.id);
1109-
encode_name(rbml_w, item.ident.name);
1109+
encode_name(rbml_w, item.name);
11101110
encode_attributes(rbml_w, &item.attrs);
11111111
encode_repr_attrs(rbml_w, ecx, &item.attrs);
11121112
for v in &enum_definition.variants {
@@ -1146,7 +1146,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
11461146
encode_bounds_and_type_for_item(rbml_w, ecx, item.id);
11471147

11481148
encode_item_variances(rbml_w, ecx, item.id);
1149-
encode_name(rbml_w, item.ident.name);
1149+
encode_name(rbml_w, item.name);
11501150
encode_attributes(rbml_w, &item.attrs);
11511151
encode_path(rbml_w, path.clone());
11521152
encode_stability(rbml_w, stab);
@@ -1168,7 +1168,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
11681168
// If this is a tuple-like struct, encode the type of the constructor.
11691169
match struct_def.ctor_id {
11701170
Some(ctor_id) => {
1171-
encode_info_for_struct_ctor(ecx, rbml_w, item.ident.name,
1171+
encode_info_for_struct_ctor(ecx, rbml_w, item.name,
11721172
ctor_id, index, def_id.node);
11731173
}
11741174
None => {}
@@ -1179,7 +1179,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
11791179
rbml_w.start_tag(tag_items_data_item);
11801180
encode_def_id(rbml_w, def_id);
11811181
encode_family(rbml_w, 'd');
1182-
encode_name(rbml_w, item.ident.name);
1182+
encode_name(rbml_w, item.name);
11831183
encode_unsafety(rbml_w, unsafety);
11841184

11851185
let trait_ref = tcx.impl_trait_ref(DefId::local(item.id)).unwrap();
@@ -1197,7 +1197,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
11971197
encode_def_id(rbml_w, def_id);
11981198
encode_family(rbml_w, 'i');
11991199
encode_bounds_and_type_for_item(rbml_w, ecx, item.id);
1200-
encode_name(rbml_w, item.ident.name);
1200+
encode_name(rbml_w, item.name);
12011201
encode_attributes(rbml_w, &item.attrs);
12021202
encode_unsafety(rbml_w, unsafety);
12031203
encode_polarity(rbml_w, polarity);
@@ -1306,7 +1306,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
13061306
encode_predicates(rbml_w, ecx, &tcx.lookup_super_predicates(def_id),
13071307
tag_item_super_predicates);
13081308
encode_trait_ref(rbml_w, ecx, trait_def.trait_ref, tag_item_trait_ref);
1309-
encode_name(rbml_w, item.ident.name);
1309+
encode_name(rbml_w, item.name);
13101310
encode_attributes(rbml_w, &item.attrs);
13111311
encode_visibility(rbml_w, vis);
13121312
encode_stability(rbml_w, stab);
@@ -1483,7 +1483,7 @@ fn encode_info_for_foreign_item(ecx: &EncodeContext,
14831483
hir::ForeignItemFn(ref fndecl, _) => {
14841484
encode_family(rbml_w, FN_FAMILY);
14851485
encode_bounds_and_type_for_item(rbml_w, ecx, nitem.id);
1486-
encode_name(rbml_w, nitem.ident.name);
1486+
encode_name(rbml_w, nitem.name);
14871487
if abi == abi::RustIntrinsic || abi == abi::PlatformIntrinsic {
14881488
encode_inlined_item(ecx, rbml_w, InlinedItemRef::Foreign(nitem));
14891489
}
@@ -1504,7 +1504,7 @@ fn encode_info_for_foreign_item(ecx: &EncodeContext,
15041504
let stab = stability::lookup(ecx.tcx, DefId::local(nitem.id));
15051505
encode_stability(rbml_w, stab);
15061506
encode_symbol(ecx, rbml_w, nitem.id);
1507-
encode_name(rbml_w, nitem.ident.name);
1507+
encode_name(rbml_w, nitem.name);
15081508
}
15091509
}
15101510
encode_path(rbml_w, path);
@@ -1528,7 +1528,7 @@ fn my_visit_foreign_item(ni: &hir::ForeignItem,
15281528
index: &mut Vec<IndexEntry>) {
15291529
debug!("writing foreign item {}::{}",
15301530
ecx.tcx.map.path_to_string(ni.id),
1531-
ni.ident);
1531+
ni.name);
15321532

15331533
let abi = ecx.tcx.map.get_foreign_abi(ni.id);
15341534
ecx.tcx.map.with_path(ni.id, |path| {

src/librustc/middle/astencode.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -155,16 +155,16 @@ pub fn decode_inlined_item<'tcx>(cdata: &cstore::crate_metadata,
155155
let raw_ii = decode_ast(ast_doc);
156156
let ii = ast_map::map_decoded_item(&dcx.tcx.map, path, raw_ii, dcx);
157157

158-
let ident = match *ii {
159-
InlinedItem::Item(ref i) => i.ident,
160-
InlinedItem::Foreign(ref i) => i.ident,
161-
InlinedItem::TraitItem(_, ref ti) => ti.ident,
162-
InlinedItem::ImplItem(_, ref ii) => ii.ident
158+
let name = match *ii {
159+
InlinedItem::Item(ref i) => i.name,
160+
InlinedItem::Foreign(ref i) => i.name,
161+
InlinedItem::TraitItem(_, ref ti) => ti.name,
162+
InlinedItem::ImplItem(_, ref ii) => ii.name
163163
};
164-
debug!("Fn named: {}", ident);
164+
debug!("Fn named: {}", name);
165165
debug!("< Decoded inlined fn: {}::{}",
166166
path_as_str.unwrap(),
167-
ident);
167+
name);
168168
region::resolve_inlined_item(&tcx.sess, &tcx.region_maps, ii);
169169
decode_side_tables(dcx, ast_doc);
170170
match *ii {

0 commit comments

Comments
 (0)