summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorEdward Wang <edward.yu.wang@gmail.com>2014-02-22 04:04:03 +0800
committerEdward Wang <edward.yu.wang@gmail.com>2014-02-22 04:05:33 +0800
commit760733280521739bad5bd826235839498fdb8367 (patch)
tree4699e672ca25b4b06ece30bae8fc87899f0013dd /src/libsyntax
parent2fa7d6b44fcc329e849f4dd43e11c6fdd43ebd76 (diff)
downloadrust-760733280521739bad5bd826235839498fdb8367.tar.gz
rust-760733280521739bad5bd826235839498fdb8367.zip
Represent lifetimes as Names instead of Idents
Closes #7743.
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/ast.rs3
-rw-r--r--src/libsyntax/ext/build.rs4
-rw-r--r--src/libsyntax/ext/deriving/ty.rs8
-rw-r--r--src/libsyntax/ext/format.rs4
-rw-r--r--src/libsyntax/parse/parser.rs2
-rw-r--r--src/libsyntax/print/pprust.rs2
6 files changed, 11 insertions, 12 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs
index e8edc1a0dfc..8f3f1787a58 100644
--- a/src/libsyntax/ast.rs
+++ b/src/libsyntax/ast.rs
@@ -144,8 +144,7 @@ pub type FnIdent = Option<Ident>;
 pub struct Lifetime {
     id: NodeId,
     span: Span,
-    // FIXME #7743 : change this to Name!
-    ident: Ident
+    ident: Name
 }
 
 // a "Path" is essentially Rust's notion of a name;
diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs
index d311a542ac6..2265e42af4d 100644
--- a/src/libsyntax/ext/build.rs
+++ b/src/libsyntax/ext/build.rs
@@ -73,7 +73,7 @@ pub trait AstBuilder {
 
     fn trait_ref(&self, path: ast::Path) -> ast::TraitRef;
     fn typarambound(&self, path: ast::Path) -> ast::TyParamBound;
-    fn lifetime(&self, span: Span, ident: ast::Ident) -> ast::Lifetime;
+    fn lifetime(&self, span: Span, ident: ast::Name) -> ast::Lifetime;
 
     // statements
     fn stmt_expr(&self, expr: @ast::Expr) -> @ast::Stmt;
@@ -408,7 +408,7 @@ impl<'a> AstBuilder for ExtCtxt<'a> {
         ast::TraitTyParamBound(self.trait_ref(path))
     }
 
-    fn lifetime(&self, span: Span, ident: ast::Ident) -> ast::Lifetime {
+    fn lifetime(&self, span: Span, ident: ast::Name) -> ast::Lifetime {
         ast::Lifetime { id: ast::DUMMY_NODE_ID, span: span, ident: ident }
     }
 
diff --git a/src/libsyntax/ext/deriving/ty.rs b/src/libsyntax/ext/deriving/ty.rs
index ff0fd388ebe..1d3dd9185ca 100644
--- a/src/libsyntax/ext/deriving/ty.rs
+++ b/src/libsyntax/ext/deriving/ty.rs
@@ -111,14 +111,14 @@ pub fn nil_ty() -> Ty<'static> {
 
 fn mk_lifetime(cx: &ExtCtxt, span: Span, lt: &Option<&str>) -> Option<ast::Lifetime> {
     match *lt {
-        Some(ref s) => Some(cx.lifetime(span, cx.ident_of(*s))),
+        Some(ref s) => Some(cx.lifetime(span, cx.ident_of(*s).name)),
         None => None
     }
 }
 
 fn mk_lifetimes(cx: &ExtCtxt, span: Span, lt: &Option<&str>) -> OptVec<ast::Lifetime> {
     match *lt {
-        Some(ref s) => opt_vec::with(cx.lifetime(span, cx.ident_of(*s))),
+        Some(ref s) => opt_vec::with(cx.lifetime(span, cx.ident_of(*s).name)),
         None => opt_vec::Empty
     }
 }
@@ -221,7 +221,7 @@ impl<'a> LifetimeBounds<'a> {
                        self_generics: &Generics)
                        -> Generics {
         let lifetimes = self.lifetimes.map(|lt| {
-            cx.lifetime(span, cx.ident_of(*lt))
+            cx.lifetime(span, cx.ident_of(*lt).name)
         });
         let ty_params = self.bounds.map(|t| {
             match t {
@@ -248,7 +248,7 @@ pub fn get_explicit_self(cx: &ExtCtxt, span: Span, self_ptr: &Option<PtrTy>)
                 match *ptr {
                     Send => ast::SelfUniq,
                     Borrowed(ref lt, mutbl) => {
-                        let lt = lt.map(|s| cx.lifetime(span, cx.ident_of(s)));
+                        let lt = lt.map(|s| cx.lifetime(span, cx.ident_of(s).name));
                         ast::SelfRegion(lt, mutbl)
                     }
                 });
diff --git a/src/libsyntax/ext/format.rs b/src/libsyntax/ext/format.rs
index d7a2647c34d..16a12661e9d 100644
--- a/src/libsyntax/ext/format.rs
+++ b/src/libsyntax/ext/format.rs
@@ -497,7 +497,7 @@ impl<'a> Context<'a> {
                         ])
             }
         };
-        let life = self.ecx.lifetime(sp, self.ecx.ident_of("static"));
+        let life = self.ecx.lifetime(sp, self.ecx.ident_of("static").name);
         let ty = self.ecx.ty_path(self.ecx.path_all(
                 sp,
                 true,
@@ -629,7 +629,7 @@ impl<'a> Context<'a> {
                     self.ecx.ident_of("Piece"),
                 ],
                 opt_vec::with(
-                    self.ecx.lifetime(self.fmtsp, self.ecx.ident_of("static"))),
+                    self.ecx.lifetime(self.fmtsp, self.ecx.ident_of("static").name)),
                 ~[]
             ), None);
         let ty = ast::TyFixedLengthVec(
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 6cde22fad10..30e77c8c1cb 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -1596,7 +1596,7 @@ impl Parser {
                 return ast::Lifetime {
                     id: ast::DUMMY_NODE_ID,
                     span: span,
-                    ident: i
+                    ident: i.name
                 };
             }
             _ => {
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index 21e1998208c..fb061bbc0a6 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -1951,7 +1951,7 @@ pub fn print_bounds(s: &mut State, bounds: &OptVec<ast::TyParamBound>,
 pub fn print_lifetime(s: &mut State,
                       lifetime: &ast::Lifetime) -> io::IoResult<()> {
     try!(word(&mut s.s, "'"));
-    print_ident(s, lifetime.ident)
+    print_name(s, lifetime.ident)
 }
 
 pub fn print_generics(s: &mut State,