diff --git a/src/libsyntax/ext/tt/macro_parser.rs b/src/libsyntax/ext/tt/macro_parser.rs index 713bf9afcd0..82e7de08d65 100644 --- a/src/libsyntax/ext/tt/macro_parser.rs +++ b/src/libsyntax/ext/tt/macro_parser.rs @@ -378,7 +378,7 @@ pub fn parse(sess: @mut ParseSess, nts, next_eis.len())); } else if (bb_eis.len() == 0u && next_eis.len() == 0u) { return failure(sp, ~"No rules expected the token: " - + to_str(rdr.interner(), tok)); + + to_str(rdr.interner(), &tok)); } else if (next_eis.len() > 0u) { /* Now process the next token */ while(next_eis.len() > 0u) { @@ -424,7 +424,7 @@ pub fn parse_nt(p: Parser, name: ~str) -> nonterminal { ~"ident" => match *p.token { token::IDENT(sn,b) => { p.bump(); token::nt_ident(sn,b) } _ => p.fatal(~"expected ident, found " - + token::to_str(p.reader.interner(), copy *p.token)) + + token::to_str(p.reader.interner(), © *p.token)) }, ~"path" => token::nt_path(p.parse_path_with_tps(false)), ~"tt" => { diff --git a/src/libsyntax/parse/comments.rs b/src/libsyntax/parse/comments.rs index 152bd9b0ce4..377b089c532 100644 --- a/src/libsyntax/parse/comments.rs +++ b/src/libsyntax/parse/comments.rs @@ -359,7 +359,7 @@ pub fn gather_comments_and_literals(span_diagnostic: diagnostic::span_handler, literals.push(lit {lit: s, pos: sp.lo}); log(debug, ~"tok lit: " + s); } else { - log(debug, ~"tok: " + token::to_str(rdr.interner, tok)); + log(debug, ~"tok: " + token::to_str(rdr.interner, &tok)); } first_read = false; } diff --git a/src/libsyntax/parse/common.rs b/src/libsyntax/parse/common.rs index 93d3b8b3364..764ff52a303 100644 --- a/src/libsyntax/parse/common.rs +++ b/src/libsyntax/parse/common.rs @@ -46,7 +46,7 @@ pub fn seq_sep_none() -> SeqSep { } } -pub fn token_to_str(reader: reader, ++token: token::Token) -> ~str { +pub fn token_to_str(reader: reader, token: &token::Token) -> ~str { token::to_str(reader.interner(), token) } @@ -56,7 +56,7 @@ pub impl Parser { *self.last_span, fmt!( "unexpected token: `%s`", - token_to_str(self.reader, t) + token_to_str(self.reader, &t) ) ); } @@ -65,7 +65,7 @@ pub impl Parser { self.fatal( fmt!( "unexpected token: `%s`", - token_to_str(self.reader, *self.token) + token_to_str(self.reader, © *self.token) ) ); } @@ -77,9 +77,10 @@ pub impl Parser { self.bump(); } else { self.fatal( - fmt!("expected `%s` but found `%s`", - token_to_str(self.reader, *t), - token_to_str(self.reader, *self.token) + fmt!( + "expected `%s` but found `%s`", + token_to_str(self.reader, t), + token_to_str(self.reader, © *self.token) ) ) } @@ -102,7 +103,7 @@ pub impl Parser { self.fatal( fmt!( "expected ident, found `%s`", - token_to_str(self.reader, *self.token) + token_to_str(self.reader, © *self.token) ) ); } @@ -149,7 +150,7 @@ pub impl Parser { } fn is_keyword(word: &~str) -> bool { - self.token_is_keyword(word, &*self.token) + self.token_is_keyword(word, © *self.token) } fn is_any_keyword(tok: &token::Token) -> bool { @@ -178,7 +179,7 @@ pub impl Parser { fmt!( "expected `%s`, found `%s`", *word, - token_to_str(self.reader, *self.token) + token_to_str(self.reader, © *self.token) ) ); } @@ -190,11 +191,11 @@ pub impl Parser { fn check_strict_keywords() { match *self.token { - token::IDENT(_, false) => { - let w = token_to_str(self.reader, *self.token); - self.check_strict_keywords_(&w); - } - _ => () + token::IDENT(_, false) => { + let w = token_to_str(self.reader, © *self.token); + self.check_strict_keywords_(&w); + } + _ => () } } @@ -210,11 +211,11 @@ pub impl Parser { fn check_reserved_keywords() { match *self.token { - token::IDENT(_, false) => { - let w = token_to_str(self.reader, *self.token); - self.check_reserved_keywords_(&w); - } - _ => () + token::IDENT(_, false) => { + let w = token_to_str(self.reader, © *self.token); + self.check_reserved_keywords_(&w); + } + _ => () } } @@ -237,9 +238,9 @@ pub impl Parser { ); } else { let mut s: ~str = ~"expected `"; - s += token_to_str(self.reader, token::GT); + s += token_to_str(self.reader, &token::GT); s += ~"`, found `"; - s += token_to_str(self.reader, *self.token); + s += token_to_str(self.reader, © *self.token); s += ~"`"; self.fatal(s); } diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 05f6a3e7517..d0c6019e09a 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -460,7 +460,7 @@ pub impl Parser { let hi = p.last_span.hi; debug!("parse_trait_methods(): trait method signature ends in \ `%s`", - token_to_str(p.reader, copy *p.token)); + token_to_str(p.reader, © *p.token)); match *p.token { token::SEMI => { p.bump(); @@ -502,7 +502,7 @@ pub impl Parser { p.fatal( fmt!( "expected `;` or `}` but found `%s`", - token_to_str(p.reader, copy *p.token) + token_to_str(p.reader, © *p.token) ) ); } @@ -848,7 +848,7 @@ pub impl Parser { fmt!( "expected integral vector length \ but found `%s`", - token_to_str(self.reader, copy *self.token) + token_to_str(self.reader, © *self.token) ) ); } @@ -1423,7 +1423,7 @@ pub impl Parser { p.fatal( fmt!( "incorrect close delimiter: `%s`", - token_to_str(p.reader, copy *p.token) + token_to_str(p.reader, © *p.token) ) ); } @@ -2114,7 +2114,7 @@ pub impl Parser { self.fatal( fmt!( "expected `}`, found `%s`", - token_to_str(self.reader, copy *self.token) + token_to_str(self.reader, © *self.token) ) ); } @@ -2621,10 +2621,15 @@ pub impl Parser { copy t => { if classify::stmt_ends_with_semi(*stmt) { self.fatal( - ~"expected `;` or `}` after \ - expression but found `" - + token_to_str(self.reader, t) - + ~"`"); + fmt!( + "expected `;` or `}` after \ + expression but found `%s`", + token_to_str( + self.reader, + &t + ) + ) + ); } stmts.push(stmt); } @@ -2811,7 +2816,7 @@ pub impl Parser { self.fatal( fmt!( "expected `self` but found `%s`", - token_to_str(self.reader, copy *self.token) + token_to_str(self.reader, © *self.token) ) ); } @@ -2883,7 +2888,7 @@ pub impl Parser { self.fatal( fmt!( "expected `,` or `)`, found `%s`", - token_to_str(self.reader, copy *self.token) + token_to_str(self.reader, © *self.token) ) ); } @@ -3194,7 +3199,7 @@ pub impl Parser { fmt!( "expected `{`, `(`, or `;` after struct name \ but found `%s`", - token_to_str(self.reader, copy *self.token) + token_to_str(self.reader, © *self.token) ) ); } @@ -3244,7 +3249,7 @@ pub impl Parser { copy *self.span, fmt!( "expected `;`, `,`, or '}' but found `%s`", - token_to_str(self.reader, copy *self.token) + token_to_str(self.reader, © *self.token) ) ); } @@ -3334,7 +3339,7 @@ pub impl Parser { self.fatal( fmt!( "expected item but found `%s`", - token_to_str(self.reader, copy *self.token) + token_to_str(self.reader, © *self.token) ) ); } @@ -3590,7 +3595,7 @@ pub impl Parser { copy *self.span, fmt!( "expected `{` or `mod` but found `%s`", - token_to_str(self.reader, copy *self.token) + token_to_str(self.reader, © *self.token) ) ); } @@ -3603,7 +3608,7 @@ pub impl Parser { copy *self.span, fmt!( "expected foreign module name but found `%s`", - token_to_str(self.reader, copy *self.token) + token_to_str(self.reader, © *self.token) ) ); } diff --git a/src/libsyntax/parse/token.rs b/src/libsyntax/parse/token.rs index 8e88ac1d525..bc61ce9e7fc 100644 --- a/src/libsyntax/parse/token.rs +++ b/src/libsyntax/parse/token.rs @@ -130,8 +130,8 @@ pub fn binop_to_str(o: binop) -> ~str { } } -pub fn to_str(in: @ident_interner, t: Token) -> ~str { - match t { +pub fn to_str(in: @ident_interner, t: &Token) -> ~str { + match *t { EQ => ~"=", LT => ~"<", LE => ~"<=", diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index b4773fe2f97..7cf297b324b 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -777,14 +777,14 @@ pub fn print_tt(s: @ps, tt: ast::token_tree) { match tt { ast::tt_delim(ref tts) => print_tts(s, *tts), ast::tt_tok(_, ref tk) => { - word(s.s, parse::token::to_str(s.intr, (*tk))); + word(s.s, parse::token::to_str(s.intr, tk)); } ast::tt_seq(_, ref tts, ref sep, zerok) => { word(s.s, ~"$("); for (*tts).each() |tt_elt| { print_tt(s, *tt_elt); } word(s.s, ~")"); match (*sep) { - Some(ref tk) => word(s.s, parse::token::to_str(s.intr, (*tk))), + Some(ref tk) => word(s.s, parse::token::to_str(s.intr, tk)), None => () } word(s.s, if zerok { ~"*" } else { ~"+" });