libsyntax: change token::to_str to take &Token

This commit is contained in:
Erick Tryzelaar 2013-02-24 19:54:37 -08:00
parent 194f29c20f
commit d346b51997
6 changed files with 50 additions and 44 deletions

View File

@ -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(), &copy *p.token))
},
~"path" => token::nt_path(p.parse_path_with_tps(false)),
~"tt" => {

View File

@ -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;
}

View File

@ -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, &copy *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, &copy *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, &copy *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, &copy *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, &copy *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, &copy *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, &copy *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, &copy *self.token);
s += ~"`";
self.fatal(s);
}

View File

@ -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, &copy *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, &copy *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, &copy *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, &copy *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, &copy *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, &copy *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, &copy *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, &copy *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, &copy *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, &copy *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, &copy *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, &copy *self.token)
)
);
}

View File

@ -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 => ~"<=",

View File

@ -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 { ~"+" });