Skip to content

Commit edf351e

Browse files
committed
auto merge of #12451 : edwardw/rust/ident-2-name, r=cmr
Closes #7743.
2 parents 9b9e2f8 + 7607332 commit edf351e

File tree

14 files changed

+48
-49
lines changed

14 files changed

+48
-49
lines changed

src/librustc/metadata/decoder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ fn item_region_param_defs(item_doc: ebml::Doc, cdata: Cmd)
271271
tag_region_param_def_def_id);
272272
let def_id = reader::with_doc_data(def_id_doc, parse_def_id);
273273
let def_id = translate_def_id(cdata, def_id);
274-
v.push(ty::RegionParameterDef { ident: ident,
274+
v.push(ty::RegionParameterDef { ident: ident.name,
275275
def_id: def_id });
276276
true
277277
});

src/librustc/metadata/encoder.rs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ pub fn reachable(ecx: &EncodeContext, id: NodeId) -> bool {
112112
reachable.get().contains(&id)
113113
}
114114

115-
fn encode_name(ebml_w: &mut writer::Encoder, name: Ident) {
116-
ebml_w.wr_tagged_str(tag_paths_data_name, token::get_ident(name).get());
115+
fn encode_name(ebml_w: &mut writer::Encoder, name: Name) {
116+
ebml_w.wr_tagged_str(tag_paths_data_name, token::get_name(name).get());
117117
}
118118

119119
fn encode_impl_type_basename(ebml_w: &mut writer::Encoder, name: Ident) {
@@ -313,7 +313,7 @@ fn encode_struct_fields(ebml_w: &mut writer::Encoder,
313313
NamedField(ident, vis) => {
314314
ebml_w.start_tag(tag_item_field);
315315
encode_struct_field_family(ebml_w, vis);
316-
encode_name(ebml_w, ident);
316+
encode_name(ebml_w, ident.name);
317317
encode_def_id(ebml_w, local_def(f.node.id));
318318
ebml_w.end_tag();
319319
}
@@ -353,7 +353,7 @@ fn encode_enum_variant_info(ecx: &EncodeContext,
353353
ast::TupleVariantKind(_) => encode_family(ebml_w, 'v'),
354354
ast::StructVariantKind(_) => encode_family(ebml_w, 'V')
355355
}
356-
encode_name(ebml_w, variant.node.name);
356+
encode_name(ebml_w, variant.node.name.name);
357357
encode_parent_item(ebml_w, local_def(id));
358358
encode_visibility(ebml_w, variant.node.vis);
359359
encode_attributes(ebml_w, variant.node.attrs);
@@ -580,7 +580,7 @@ fn encode_info_for_mod(ecx: &EncodeContext,
580580
ebml_w.start_tag(tag_items_data_item);
581581
encode_def_id(ebml_w, local_def(id));
582582
encode_family(ebml_w, 'm');
583-
encode_name(ebml_w, name);
583+
encode_name(ebml_w, name.name);
584584
debug!("(encoding info for module) encoding info for module ID {}", id);
585585

586586
// Encode info about all the module children.
@@ -717,7 +717,7 @@ fn encode_info_for_struct(ecx: &EncodeContext,
717717
debug!("encode_info_for_struct: doing {} {}",
718718
token::get_ident(nm), id);
719719
encode_struct_field_family(ebml_w, vis);
720-
encode_name(ebml_w, nm);
720+
encode_name(ebml_w, nm.name);
721721
encode_type(ecx, ebml_w, node_id_to_type(tcx, id));
722722
encode_def_id(ebml_w, local_def(id));
723723
ebml_w.end_tag();
@@ -744,7 +744,7 @@ fn encode_info_for_struct_ctor(ecx: &EncodeContext,
744744
encode_family(ebml_w, 'f');
745745
encode_bounds_and_type(ebml_w, ecx,
746746
&lookup_item_type(ecx.tcx, local_def(ctor_id)));
747-
encode_name(ebml_w, name);
747+
encode_name(ebml_w, name.name);
748748
encode_type(ecx, ebml_w, node_id_to_type(ecx.tcx, ctor_id));
749749
ecx.tcx.map.with_path(ctor_id, |path| encode_path(ebml_w, path));
750750
encode_parent_item(ebml_w, local_def(struct_id));
@@ -767,7 +767,7 @@ fn encode_method_ty_fields(ecx: &EncodeContext,
767767
ebml_w: &mut writer::Encoder,
768768
method_ty: &ty::Method) {
769769
encode_def_id(ebml_w, method_ty.def_id);
770-
encode_name(ebml_w, method_ty.ident);
770+
encode_name(ebml_w, method_ty.ident.name);
771771
encode_ty_type_param_defs(ebml_w, ecx,
772772
method_ty.generics.type_param_defs(),
773773
tag_item_method_tps);
@@ -917,7 +917,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
917917
}
918918
encode_type(ecx, ebml_w, node_id_to_type(tcx, item.id));
919919
encode_symbol(ecx, ebml_w, item.id);
920-
encode_name(ebml_w, item.ident);
920+
encode_name(ebml_w, item.ident.name);
921921
encode_path(ebml_w, path);
922922

923923
let inlineable = !ecx.non_inlineable_statics.borrow().get().contains(&item.id);
@@ -935,7 +935,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
935935
encode_family(ebml_w, purity_fn_family(purity));
936936
let tps_len = generics.ty_params.len();
937937
encode_bounds_and_type(ebml_w, ecx, &lookup_item_type(tcx, def_id));
938-
encode_name(ebml_w, item.ident);
938+
encode_name(ebml_w, item.ident.name);
939939
encode_path(ebml_w, path);
940940
encode_attributes(ebml_w, item.attrs);
941941
if tps_len > 0u || should_inline(item.attrs) {
@@ -961,7 +961,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
961961
ebml_w.start_tag(tag_items_data_item);
962962
encode_def_id(ebml_w, def_id);
963963
encode_family(ebml_w, 'n');
964-
encode_name(ebml_w, item.ident);
964+
encode_name(ebml_w, item.ident.name);
965965
encode_path(ebml_w, path);
966966

967967
// Encode all the items in this module.
@@ -979,7 +979,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
979979
encode_def_id(ebml_w, def_id);
980980
encode_family(ebml_w, 'y');
981981
encode_bounds_and_type(ebml_w, ecx, &lookup_item_type(tcx, def_id));
982-
encode_name(ebml_w, item.ident);
982+
encode_name(ebml_w, item.ident.name);
983983
encode_path(ebml_w, path);
984984
encode_visibility(ebml_w, vis);
985985
ebml_w.end_tag();
@@ -992,7 +992,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
992992
encode_family(ebml_w, 't');
993993
encode_item_variances(ebml_w, ecx, item.id);
994994
encode_bounds_and_type(ebml_w, ecx, &lookup_item_type(tcx, def_id));
995-
encode_name(ebml_w, item.ident);
995+
encode_name(ebml_w, item.ident.name);
996996
encode_attributes(ebml_w, item.attrs);
997997
for v in (*enum_definition).variants.iter() {
998998
encode_variant_id(ebml_w, local_def(v.node.id));
@@ -1031,7 +1031,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
10311031
encode_bounds_and_type(ebml_w, ecx, &lookup_item_type(tcx, def_id));
10321032

10331033
encode_item_variances(ebml_w, ecx, item.id);
1034-
encode_name(ebml_w, item.ident);
1034+
encode_name(ebml_w, item.ident.name);
10351035
encode_attributes(ebml_w, item.attrs);
10361036
encode_path(ebml_w, path.clone());
10371037
encode_visibility(ebml_w, vis);
@@ -1071,7 +1071,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
10711071
encode_def_id(ebml_w, def_id);
10721072
encode_family(ebml_w, 'i');
10731073
encode_bounds_and_type(ebml_w, ecx, &lookup_item_type(tcx, def_id));
1074-
encode_name(ebml_w, item.ident);
1074+
encode_name(ebml_w, item.ident.name);
10751075
encode_attributes(ebml_w, item.attrs);
10761076
match ty.node {
10771077
ast::TyPath(ref path, ref bounds, _) if path.segments
@@ -1135,7 +1135,7 @@ fn encode_info_for_item(ecx: &EncodeContext,
11351135
tag_items_data_item_ty_param_bounds);
11361136
encode_region_param_defs(ebml_w, trait_def.generics.region_param_defs());
11371137
encode_trait_ref(ebml_w, ecx, trait_def.trait_ref, tag_item_trait_ref);
1138-
encode_name(ebml_w, item.ident);
1138+
encode_name(ebml_w, item.ident.name);
11391139
encode_attributes(ebml_w, item.attrs);
11401140
encode_visibility(ebml_w, vis);
11411141
for &method_def_id in ty::trait_method_def_ids(tcx, def_id).iter() {
@@ -1256,7 +1256,7 @@ fn encode_info_for_foreign_item(ecx: &EncodeContext,
12561256
encode_family(ebml_w, purity_fn_family(ImpureFn));
12571257
encode_bounds_and_type(ebml_w, ecx,
12581258
&lookup_item_type(ecx.tcx,local_def(nitem.id)));
1259-
encode_name(ebml_w, nitem.ident);
1259+
encode_name(ebml_w, nitem.ident.name);
12601260
if abi.is_intrinsic() {
12611261
(ecx.encode_inlined_item)(ecx, ebml_w, IIForeignRef(nitem));
12621262
} else {
@@ -1271,7 +1271,7 @@ fn encode_info_for_foreign_item(ecx: &EncodeContext,
12711271
}
12721272
encode_type(ecx, ebml_w, node_id_to_type(ecx.tcx, nitem.id));
12731273
encode_symbol(ecx, ebml_w, nitem.id);
1274-
encode_name(ebml_w, nitem.ident);
1274+
encode_name(ebml_w, nitem.ident.name);
12751275
}
12761276
}
12771277
encode_path(ebml_w, path);

src/librustc/metadata/tydecode.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ fn parse_bound_region(st: &mut PState, conv: conv_did) -> ty::BoundRegion {
214214
'[' => {
215215
let def = parse_def(st, RegionParameter, |x,y| conv(x,y));
216216
let ident = token::str_to_ident(parse_str(st, ']'));
217-
ty::BrNamed(def, ident)
217+
ty::BrNamed(def, ident.name)
218218
}
219219
'f' => {
220220
let id = parse_uint(st);
@@ -242,7 +242,7 @@ fn parse_region(st: &mut PState, conv: conv_did) -> ty::Region {
242242
let index = parse_uint(st);
243243
assert_eq!(next(st), '|');
244244
let nm = token::str_to_ident(parse_str(st, ']'));
245-
ty::ReEarlyBound(node_id, index, nm)
245+
ty::ReEarlyBound(node_id, index, nm.name)
246246
}
247247
'f' => {
248248
assert_eq!(next(st), '[');

src/librustc/metadata/tyencode.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ fn enc_region(w: &mut MemWriter, cx: @ctxt, r: ty::Region) {
179179
mywrite!(w, "B[{}|{}|{}]",
180180
node_id,
181181
index,
182-
token::get_ident(ident));
182+
token::get_name(ident));
183183
}
184184
ty::ReFree(ref fr) => {
185185
mywrite!(w, "f[{}|", fr.scope_id);
@@ -210,7 +210,7 @@ fn enc_bound_region(w: &mut MemWriter, cx: @ctxt, br: ty::BoundRegion) {
210210
ty::BrNamed(d, s) => {
211211
mywrite!(w, "[{}|{}]",
212212
(cx.ds)(d),
213-
token::get_ident(s));
213+
token::get_name(s));
214214
}
215215
ty::BrFresh(id) => {
216216
mywrite!(w, "f{}|", id);

src/librustc/middle/resolve_lifetime.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ impl<'a> Visitor<&'a ScopeChain<'a>> for LifetimeContext {
145145
fn visit_lifetime_ref(&mut self,
146146
lifetime_ref: &ast::Lifetime,
147147
scope: &'a ScopeChain<'a>) {
148-
if lifetime_ref.ident == special_idents::statik {
148+
if lifetime_ref.ident == special_idents::statik.name {
149149
self.insert_lifetime(lifetime_ref, ast::DefStaticRegion);
150150
return;
151151
}
@@ -262,7 +262,7 @@ impl LifetimeContext {
262262
self.sess.span_err(
263263
lifetime_ref.span,
264264
format!("use of undeclared lifetime name `'{}`",
265-
token::get_ident(lifetime_ref.ident)));
265+
token::get_name(lifetime_ref.ident)));
266266
}
267267

268268
fn check_lifetime_names(&self, lifetimes: &OptVec<ast::Lifetime>) {
@@ -271,11 +271,11 @@ impl LifetimeContext {
271271

272272
let special_idents = [special_idents::statik];
273273
for lifetime in lifetimes.iter() {
274-
if special_idents.iter().any(|&i| i == lifetime.ident) {
274+
if special_idents.iter().any(|&i| i.name == lifetime.ident) {
275275
self.sess.span_err(
276276
lifetime.span,
277277
format!("illegal lifetime parameter name: `{}`",
278-
token::get_ident(lifetime.ident)));
278+
token::get_name(lifetime.ident)));
279279
}
280280
}
281281

@@ -287,7 +287,7 @@ impl LifetimeContext {
287287
lifetime_j.span,
288288
format!("lifetime name `'{}` declared twice in \
289289
the same scope",
290-
token::get_ident(lifetime_j.ident)));
290+
token::get_name(lifetime_j.ident)));
291291
}
292292
}
293293
}

src/librustc/middle/ty.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ pub enum Region {
465465
// Region bound in a type or fn declaration which will be
466466
// substituted 'early' -- that is, at the same time when type
467467
// parameters are substituted.
468-
ReEarlyBound(/* param id */ ast::NodeId, /*index*/ uint, ast::Ident),
468+
ReEarlyBound(/* param id */ ast::NodeId, /*index*/ uint, ast::Name),
469469

470470
// Region bound in a function scope, which will be substituted when the
471471
// function is called. The first argument must be the `binder_id` of
@@ -635,7 +635,7 @@ pub enum BoundRegion {
635635
///
636636
/// The def-id is needed to distinguish free regions in
637637
/// the event of shadowing.
638-
BrNamed(ast::DefId, ast::Ident),
638+
BrNamed(ast::DefId, ast::Name),
639639

640640
/// Fresh bound identifiers created during GLB computations.
641641
BrFresh(uint),
@@ -976,7 +976,7 @@ pub struct TypeParameterDef {
976976

977977
#[deriving(Encodable, Decodable, Clone)]
978978
pub struct RegionParameterDef {
979-
ident: ast::Ident,
979+
ident: ast::Name,
980980
def_id: ast::DefId,
981981
}
982982

src/librustc/util/ppaux.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ pub fn bound_region_to_str(cx: ctxt,
163163

164164
match br {
165165
BrNamed(_, ident) => format!("{}'{}{}", prefix,
166-
token::get_ident(ident), space_str),
166+
token::get_name(ident), space_str),
167167
BrAnon(_) => prefix.to_str(),
168168
BrFresh(_) => prefix.to_str(),
169169
}
@@ -225,7 +225,7 @@ pub fn region_to_str(cx: ctxt, prefix: &str, space: bool, region: Region) -> ~st
225225
// `explain_region()` or `note_and_explain_region()`.
226226
match region {
227227
ty::ReScope(_) => prefix.to_str(),
228-
ty::ReEarlyBound(_, _, ident) => token::get_ident(ident).get().to_str(),
228+
ty::ReEarlyBound(_, _, ident) => token::get_name(ident).get().to_str(),
229229
ty::ReLateBound(_, br) => bound_region_to_str(cx, prefix, space, br),
230230
ty::ReFree(ref fr) => bound_region_to_str(cx, prefix, space, fr.bound_region),
231231
ty::ReInfer(ReSkolemized(_, br)) => {
@@ -630,7 +630,7 @@ impl Repr for ty::TypeParameterDef {
630630
impl Repr for ty::RegionParameterDef {
631631
fn repr(&self, _tcx: ctxt) -> ~str {
632632
format!("RegionParameterDef({}, {:?})",
633-
token::get_ident(self.ident),
633+
token::get_name(self.ident),
634634
self.def_id)
635635
}
636636
}
@@ -718,7 +718,7 @@ impl Repr for ty::BoundRegion {
718718
ty::BrAnon(id) => format!("BrAnon({})", id),
719719
ty::BrNamed(id, ident) => format!("BrNamed({}, {})",
720720
id.repr(tcx),
721-
ident.repr(tcx)),
721+
token::get_name(ident)),
722722
ty::BrFresh(id) => format!("BrFresh({})", id),
723723
}
724724
}
@@ -729,7 +729,7 @@ impl Repr for ty::Region {
729729
match *self {
730730
ty::ReEarlyBound(id, index, ident) => {
731731
format!("ReEarlyBound({}, {}, {})",
732-
id, index, ident.repr(tcx))
732+
id, index, token::get_name(ident))
733733
}
734734

735735
ty::ReLateBound(binder_id, ref bound_region) => {

src/librustdoc/clean.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ impl Lifetime {
307307

308308
impl Clean<Lifetime> for ast::Lifetime {
309309
fn clean(&self) -> Lifetime {
310-
Lifetime(self.ident.clean())
310+
Lifetime(token::get_name(self.ident).get().to_owned())
311311
}
312312
}
313313

src/libsyntax/ast.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,7 @@ pub type FnIdent = Option<Ident>;
144144
pub struct Lifetime {
145145
id: NodeId,
146146
span: Span,
147-
// FIXME #7743 : change this to Name!
148-
ident: Ident
147+
ident: Name
149148
}
150149

151150
// a "Path" is essentially Rust's notion of a name;

src/libsyntax/ext/build.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ pub trait AstBuilder {
7373

7474
fn trait_ref(&self, path: ast::Path) -> ast::TraitRef;
7575
fn typarambound(&self, path: ast::Path) -> ast::TyParamBound;
76-
fn lifetime(&self, span: Span, ident: ast::Ident) -> ast::Lifetime;
76+
fn lifetime(&self, span: Span, ident: ast::Name) -> ast::Lifetime;
7777

7878
// statements
7979
fn stmt_expr(&self, expr: @ast::Expr) -> @ast::Stmt;
@@ -411,7 +411,7 @@ impl<'a> AstBuilder for ExtCtxt<'a> {
411411
ast::TraitTyParamBound(self.trait_ref(path))
412412
}
413413

414-
fn lifetime(&self, span: Span, ident: ast::Ident) -> ast::Lifetime {
414+
fn lifetime(&self, span: Span, ident: ast::Name) -> ast::Lifetime {
415415
ast::Lifetime { id: ast::DUMMY_NODE_ID, span: span, ident: ident }
416416
}
417417

src/libsyntax/ext/deriving/ty.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,14 @@ pub fn nil_ty() -> Ty<'static> {
111111

112112
fn mk_lifetime(cx: &ExtCtxt, span: Span, lt: &Option<&str>) -> Option<ast::Lifetime> {
113113
match *lt {
114-
Some(ref s) => Some(cx.lifetime(span, cx.ident_of(*s))),
114+
Some(ref s) => Some(cx.lifetime(span, cx.ident_of(*s).name)),
115115
None => None
116116
}
117117
}
118118

119119
fn mk_lifetimes(cx: &ExtCtxt, span: Span, lt: &Option<&str>) -> OptVec<ast::Lifetime> {
120120
match *lt {
121-
Some(ref s) => opt_vec::with(cx.lifetime(span, cx.ident_of(*s))),
121+
Some(ref s) => opt_vec::with(cx.lifetime(span, cx.ident_of(*s).name)),
122122
None => opt_vec::Empty
123123
}
124124
}
@@ -221,7 +221,7 @@ impl<'a> LifetimeBounds<'a> {
221221
self_generics: &Generics)
222222
-> Generics {
223223
let lifetimes = self.lifetimes.map(|lt| {
224-
cx.lifetime(span, cx.ident_of(*lt))
224+
cx.lifetime(span, cx.ident_of(*lt).name)
225225
});
226226
let ty_params = self.bounds.map(|t| {
227227
match t {
@@ -248,7 +248,7 @@ pub fn get_explicit_self(cx: &ExtCtxt, span: Span, self_ptr: &Option<PtrTy>)
248248
match *ptr {
249249
Send => ast::SelfUniq,
250250
Borrowed(ref lt, mutbl) => {
251-
let lt = lt.map(|s| cx.lifetime(span, cx.ident_of(s)));
251+
let lt = lt.map(|s| cx.lifetime(span, cx.ident_of(s).name));
252252
ast::SelfRegion(lt, mutbl)
253253
}
254254
});

0 commit comments

Comments
 (0)