Skip to content

Commit 7fdc1fb

Browse files
committed
Hygienize lifetimes.
1 parent 8497061 commit 7fdc1fb

File tree

17 files changed

+31
-33
lines changed

17 files changed

+31
-33
lines changed

src/librustc/hir/lowering.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -985,7 +985,7 @@ impl<'a> LoweringContext<'a> {
985985
fn lower_lifetime(&mut self, l: &Lifetime) -> hir::Lifetime {
986986
hir::Lifetime {
987987
id: self.lower_node_id(l.id),
988-
name: l.name,
988+
name: self.lower_ident(l.ident),
989989
span: l.span,
990990
}
991991
}

src/librustc/hir/map/def_collector.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ impl<'a> visit::Visitor<'a> for DefCollector<'a> {
283283

284284
fn visit_lifetime_def(&mut self, def: &'a LifetimeDef) {
285285
self.create_def(def.lifetime.id,
286-
DefPathData::LifetimeDef(def.lifetime.name.as_str()),
286+
DefPathData::LifetimeDef(def.lifetime.ident.name.as_str()),
287287
REGULAR_SPACE);
288288
}
289289

src/librustc/hir/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ impl Lifetime {
162162
}
163163

164164
pub fn is_static(&self) -> bool {
165-
self.name == keywords::StaticLifetime.name()
165+
self.name == "'static"
166166
}
167167
}
168168

src/librustc/middle/resolve_lifetime.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ use std::mem::replace;
2626
use syntax::ast;
2727
use syntax::attr;
2828
use syntax::ptr::P;
29-
use syntax::symbol::keywords;
3029
use syntax_pos::Span;
3130
use errors::DiagnosticBuilder;
3231
use util::nodemap::{NodeMap, NodeSet, FxHashSet, FxHashMap, DefIdMap};
@@ -746,7 +745,7 @@ fn object_lifetime_defaults_for_item(hir_map: &Map, generics: &hir::Generics)
746745
match set {
747746
Set1::Empty => Set1::Empty,
748747
Set1::One(name) => {
749-
if name == keywords::StaticLifetime.name() {
748+
if name == "'static" {
750749
Set1::One(Region::Static)
751750
} else {
752751
generics.lifetimes.iter().enumerate().find(|&(_, def)| {

src/librustc_passes/ast_validation.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,11 @@ impl<'a> AstValidator<'a> {
103103

104104
impl<'a> Visitor<'a> for AstValidator<'a> {
105105
fn visit_lifetime(&mut self, lt: &'a Lifetime) {
106-
if lt.name == "'_" {
106+
if lt.ident.name == "'_" {
107107
self.session.add_lint(lint::builtin::LIFETIME_UNDERSCORE,
108108
lt.id,
109109
lt.span,
110-
format!("invalid lifetime name `{}`", lt.name));
110+
format!("invalid lifetime name `{}`", lt.ident));
111111
}
112112

113113
visit::walk_lifetime(self, lt)

src/librustc_save_analysis/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -828,7 +828,7 @@ fn make_signature(decl: &ast::FnDecl, generics: &ast::Generics) -> String {
828828
if !generics.lifetimes.is_empty() || !generics.ty_params.is_empty() {
829829
sig.push('<');
830830
sig.push_str(&generics.lifetimes.iter()
831-
.map(|l| l.lifetime.name.to_string())
831+
.map(|l| l.lifetime.ident.name.to_string())
832832
.collect::<Vec<_>>()
833833
.join(", "));
834834
if !generics.lifetimes.is_empty() {

src/libsyntax/ast.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ use std::u32;
3737
pub struct Lifetime {
3838
pub id: NodeId,
3939
pub span: Span,
40-
pub name: Name
40+
pub ident: Ident,
4141
}
4242

4343
impl fmt::Debug for Lifetime {

src/libsyntax/diagnostics/plugin.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ pub fn expand_build_diagnostic_array<'cx>(ecx: &'cx mut ExtCtxt,
206206
(descriptions.len(), ecx.expr_vec(span, descriptions))
207207
});
208208

209-
let static_ = ecx.lifetime(span, ecx.name_of("'static"));
209+
let static_ = ecx.lifetime(span, Ident::from_str("'static"));
210210
let ty_str = ecx.ty_rptr(
211211
span,
212212
ecx.ty_ident(span, ecx.ident_of("str")),

src/libsyntax/ext/build.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,10 @@ pub trait AstBuilder {
7676
fn trait_ref(&self, path: ast::Path) -> ast::TraitRef;
7777
fn poly_trait_ref(&self, span: Span, path: ast::Path) -> ast::PolyTraitRef;
7878
fn typarambound(&self, path: ast::Path) -> ast::TyParamBound;
79-
fn lifetime(&self, span: Span, ident: ast::Name) -> ast::Lifetime;
79+
fn lifetime(&self, span: Span, ident: ast::Ident) -> ast::Lifetime;
8080
fn lifetime_def(&self,
8181
span: Span,
82-
name: ast::Name,
82+
ident: ast::Ident,
8383
attrs: Vec<ast::Attribute>,
8484
bounds: Vec<ast::Lifetime>)
8585
-> ast::LifetimeDef;
@@ -478,19 +478,19 @@ impl<'a> AstBuilder for ExtCtxt<'a> {
478478
ast::TraitTyParamBound(self.poly_trait_ref(path.span, path), ast::TraitBoundModifier::None)
479479
}
480480

481-
fn lifetime(&self, span: Span, name: ast::Name) -> ast::Lifetime {
482-
ast::Lifetime { id: ast::DUMMY_NODE_ID, span: span, name: name }
481+
fn lifetime(&self, span: Span, ident: ast::Ident) -> ast::Lifetime {
482+
ast::Lifetime { id: ast::DUMMY_NODE_ID, span: span, ident: ident }
483483
}
484484

485485
fn lifetime_def(&self,
486486
span: Span,
487-
name: ast::Name,
487+
ident: ast::Ident,
488488
attrs: Vec<ast::Attribute>,
489489
bounds: Vec<ast::Lifetime>)
490490
-> ast::LifetimeDef {
491491
ast::LifetimeDef {
492492
attrs: attrs.into(),
493-
lifetime: self.lifetime(span, name),
493+
lifetime: self.lifetime(span, ident),
494494
bounds: bounds
495495
}
496496
}

src/libsyntax/fold.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,7 @@ pub fn noop_fold_ty_params<T: Folder>(tps: Vec<TyParam>, fld: &mut T) -> Vec<TyP
694694
pub fn noop_fold_lifetime<T: Folder>(l: Lifetime, fld: &mut T) -> Lifetime {
695695
Lifetime {
696696
id: fld.new_id(l.id),
697-
name: l.name,
697+
ident: fld.fold_ident(l.ident),
698698
span: fld.new_span(l.span)
699699
}
700700
}

src/libsyntax/parse/parser.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1958,7 +1958,7 @@ impl<'a> Parser<'a> {
19581958
token::Lifetime(ident) => {
19591959
let ident_span = self.span;
19601960
self.bump();
1961-
Lifetime { name: ident.name, span: ident_span, id: ast::DUMMY_NODE_ID }
1961+
Lifetime { ident: ident, span: ident_span, id: ast::DUMMY_NODE_ID }
19621962
}
19631963
_ => self.span_bug(self.span, "not a lifetime")
19641964
}

src/libsyntax/print/pprust.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2764,7 +2764,7 @@ impl<'a> State<'a> {
27642764
lifetime: &ast::Lifetime)
27652765
-> io::Result<()>
27662766
{
2767-
self.print_name(lifetime.name)
2767+
self.print_name(lifetime.ident.name)
27682768
}
27692769

27702770
pub fn print_lifetime_bounds(&mut self,

src/libsyntax/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,7 @@ fn mk_tests(cx: &TestCtxt) -> P<ast::Item> {
591591
let struct_type = ecx.ty_path(ecx.path(sp, vec![ecx.ident_of("self"),
592592
ecx.ident_of("test"),
593593
ecx.ident_of("TestDescAndFn")]));
594-
let static_lt = ecx.lifetime(sp, keywords::StaticLifetime.name());
594+
let static_lt = ecx.lifetime(sp, keywords::StaticLifetime.ident());
595595
// &'static [self::test::TestDescAndFn]
596596
let static_type = ecx.ty_rptr(sp,
597597
ecx.ty(sp, ast::TyKind::Slice(struct_type)),

src/libsyntax/visit.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ pub fn walk_local<'a, V: Visitor<'a>>(visitor: &mut V, local: &'a Local) {
195195
}
196196

197197
pub fn walk_lifetime<'a, V: Visitor<'a>>(visitor: &mut V, lifetime: &'a Lifetime) {
198-
visitor.visit_name(lifetime.span, lifetime.name);
198+
visitor.visit_ident(lifetime.span, lifetime.ident);
199199
}
200200

201201
pub fn walk_lifetime_def<'a, V: Visitor<'a>>(visitor: &mut V, lifetime_def: &'a LifetimeDef) {

src/libsyntax_ext/deriving/generic/ty.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,14 +118,14 @@ pub fn nil_ty<'r>() -> Ty<'r> {
118118

119119
fn mk_lifetime(cx: &ExtCtxt, span: Span, lt: &Option<&str>) -> Option<ast::Lifetime> {
120120
match *lt {
121-
Some(ref s) => Some(cx.lifetime(span, cx.ident_of(*s).name)),
121+
Some(s) => Some(cx.lifetime(span, Ident::from_str(s))),
122122
None => None,
123123
}
124124
}
125125

126126
fn mk_lifetimes(cx: &ExtCtxt, span: Span, lt: &Option<&str>) -> Vec<ast::Lifetime> {
127127
match *lt {
128-
Some(ref s) => vec![cx.lifetime(span, cx.ident_of(*s).name)],
128+
Some(s) => vec![cx.lifetime(span, Ident::from_str(s))],
129129
None => vec![],
130130
}
131131
}
@@ -243,11 +243,11 @@ impl<'a> LifetimeBounds<'a> {
243243
-> Generics {
244244
let lifetimes = self.lifetimes
245245
.iter()
246-
.map(|&(ref lt, ref bounds)| {
246+
.map(|&(lt, ref bounds)| {
247247
let bounds = bounds.iter()
248-
.map(|b| cx.lifetime(span, cx.ident_of(*b).name))
248+
.map(|b| cx.lifetime(span, Ident::from_str(b)))
249249
.collect();
250-
cx.lifetime_def(span, cx.ident_of(*lt).name, vec![], bounds)
250+
cx.lifetime_def(span, Ident::from_str(lt), vec![], bounds)
251251
})
252252
.collect();
253253
let ty_params = self.bounds
@@ -277,7 +277,7 @@ pub fn get_explicit_self(cx: &ExtCtxt,
277277
respan(span,
278278
match *ptr {
279279
Borrowed(ref lt, mutbl) => {
280-
let lt = lt.map(|s| cx.lifetime(span, cx.ident_of(s).name));
280+
let lt = lt.map(|s| cx.lifetime(span, Ident::from_str(s)));
281281
SelfKind::Region(lt, mutbl)
282282
}
283283
Raw(_) => {

src/libsyntax_ext/env.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
// interface.
1414
//
1515

16-
use syntax::ast;
16+
use syntax::ast::{self, Ident};
1717
use syntax::ext::base::*;
1818
use syntax::ext::base;
1919
use syntax::ext::build::AstBuilder;
@@ -39,10 +39,9 @@ pub fn expand_option_env<'cx>(cx: &'cx mut ExtCtxt,
3939
cx.std_path(&["option", "Option", "None"]),
4040
Vec::new(),
4141
vec![cx.ty_rptr(sp,
42-
cx.ty_ident(sp, cx.ident_of("str")),
42+
cx.ty_ident(sp, Ident::from_str("str")),
4343
Some(cx.lifetime(sp,
44-
cx.ident_of("'static")
45-
.name)),
44+
Ident::from_str("'static"))),
4645
ast::Mutability::Immutable)],
4746
Vec::new()))
4847
}

src/libsyntax_ext/format.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,7 @@ impl<'a, 'b> Context<'a, 'b> {
508508
let sp = piece_ty.span;
509509
let ty = ecx.ty_rptr(sp,
510510
ecx.ty(sp, ast::TyKind::Slice(piece_ty)),
511-
Some(ecx.lifetime(sp, keywords::StaticLifetime.name())),
511+
Some(ecx.lifetime(sp, keywords::StaticLifetime.ident())),
512512
ast::Mutability::Immutable);
513513
let slice = ecx.expr_vec_slice(sp, pieces);
514514
// static instead of const to speed up codegen by not requiring this to be inlined
@@ -536,7 +536,7 @@ impl<'a, 'b> Context<'a, 'b> {
536536

537537
// First, build up the static array which will become our precompiled
538538
// format "string"
539-
let static_lifetime = self.ecx.lifetime(self.fmtsp, keywords::StaticLifetime.name());
539+
let static_lifetime = self.ecx.lifetime(self.fmtsp, keywords::StaticLifetime.ident());
540540
let piece_ty = self.ecx.ty_rptr(self.fmtsp,
541541
self.ecx.ty_ident(self.fmtsp, self.ecx.ident_of("str")),
542542
Some(static_lifetime),

0 commit comments

Comments
 (0)