token: replace ast::Ident with just Ident

This commit is contained in:
Corey Richardson 2014-06-09 13:19:38 -07:00
parent 4989a56448
commit 91357a9c4e

View File

@ -84,10 +84,10 @@ pub enum Token {
LIT_INT(i64, ast::IntTy),
LIT_UINT(u64, ast::UintTy),
LIT_INT_UNSUFFIXED(i64),
LIT_FLOAT(ast::Ident, ast::FloatTy),
LIT_FLOAT_UNSUFFIXED(ast::Ident),
LIT_STR(ast::Ident),
LIT_STR_RAW(ast::Ident, uint), /* raw str delimited by n hash symbols */
LIT_FLOAT(Ident, ast::FloatTy),
LIT_FLOAT_UNSUFFIXED(Ident),
LIT_STR(Ident),
LIT_STR_RAW(Ident, uint), /* raw str delimited by n hash symbols */
LIT_BINARY(Rc<Vec<u8>>),
LIT_BINARY_RAW(Rc<Vec<u8>>, uint), /* raw binary str delimited by n hash symbols */
@ -95,14 +95,14 @@ pub enum Token {
/// An identifier contains an "is_mod_name" boolean,
/// indicating whether :: follows this token with no
/// whitespace in between.
IDENT(ast::Ident, bool),
IDENT(Ident, bool),
UNDERSCORE,
LIFETIME(ast::Ident),
LIFETIME(Ident),
/* For interpolation */
INTERPOLATED(Nonterminal),
DOC_COMMENT(ast::Ident),
DOC_COMMENT(Ident),
EOF,
}
@ -115,11 +115,12 @@ pub enum Nonterminal {
NtPat( Gc<ast::Pat>),
NtExpr(Gc<ast::Expr>),
NtTy( P<ast::Ty>),
// see IDENT, above, for meaning of bool in NtIdent:
NtIdent(Box<ast::Ident>, bool),
NtMeta(Gc<ast::MetaItem>), // stuff inside brackets for attributes
/// See IDENT, above, for meaning of bool in NtIdent:
NtIdent(Box<Ident>, bool),
/// Stuff inside brackets for attributes
NtMeta(Gc<ast::MetaItem>),
NtPath(Box<ast::Path>),
NtTT( Gc<ast::TokenTree>), // needs @ed to break a circularity
NtTT( Gc<ast::TokenTree>), // needs Gc'd to break a circularity
NtMatchers(Vec<ast::Matcher> )
}
@ -683,20 +684,20 @@ pub fn gensym(s: &str) -> Name {
/// Maps a string to an identifier with an empty syntax context.
#[inline]
pub fn str_to_ident(s: &str) -> ast::Ident {
ast::Ident::new(intern(s))
pub fn str_to_ident(s: &str) -> Ident {
Ident::new(intern(s))
}
/// Maps a string to a gensym'ed identifier.
#[inline]
pub fn gensym_ident(s: &str) -> ast::Ident {
ast::Ident::new(gensym(s))
pub fn gensym_ident(s: &str) -> Ident {
Ident::new(gensym(s))
}
// create a fresh name that maps to the same string as the old one.
// note that this guarantees that str_ptr_eq(ident_to_string(src),interner_get(fresh_name(src)));
// that is, that the new name and the old one are connected to ptr_eq strings.
pub fn fresh_name(src: &ast::Ident) -> Name {
pub fn fresh_name(src: &Ident) -> Name {
let interner = get_ident_interner();
interner.gensym_copy(src.name)
// following: debug version. Could work in final except that it's incompatible with
@ -767,8 +768,8 @@ mod test {
use ast;
use ext::mtwt;
fn mark_ident(id : ast::Ident, m : ast::Mrk) -> ast::Ident {
ast::Ident{name:id.name,ctxt:mtwt::apply_mark(m,id.ctxt)}
fn mark_ident(id : Ident, m : ast::Mrk) -> Ident {
Ident{name:id.name,ctxt:mtwt::apply_mark(m,id.ctxt)}
}
#[test] fn mtwt_token_eq_test() {