libsyntax: change token_is_{word,keyword} to take &Token

This commit is contained in:
Erick Tryzelaar
2013-02-24 10:52:06 -08:00
parent 272c25e938
commit 752befe2a6
2 changed files with 22 additions and 22 deletions

View File

@@ -136,24 +136,24 @@ pub impl Parser {
} }
} }
fn token_is_word(word: &~str, tok: token::Token) -> bool { fn token_is_word(word: &~str, tok: &token::Token) -> bool {
match tok { match *tok {
token::IDENT(sid, false) => { *self.id_to_str(sid) == *word } token::IDENT(sid, false) => { *self.id_to_str(sid) == *word }
_ => { false } _ => { false }
} }
} }
fn token_is_keyword(word: &~str, ++tok: token::Token) -> bool { fn token_is_keyword(word: &~str, tok: &token::Token) -> bool {
self.require_keyword(word); self.require_keyword(word);
self.token_is_word(word, tok) self.token_is_word(word, tok)
} }
fn is_keyword(word: &~str) -> bool { 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 { fn is_any_keyword(tok: &token::Token) -> bool {
match tok { match *tok {
token::IDENT(sid, false) => { token::IDENT(sid, false) => {
self.keywords.contains_key(self.id_to_str(sid)) self.keywords.contains_key(self.id_to_str(sid))
} }

View File

@@ -309,7 +309,7 @@ pub impl Parser {
pure fn id_to_str(id: ident) -> @~str { self.sess.interner.get(id) } pure fn id_to_str(id: ident) -> @~str { self.sess.interner.get(id) }
fn token_is_closure_keyword(+tok: token::Token) -> bool { fn token_is_closure_keyword(tok: &token::Token) -> bool {
self.token_is_keyword(&~"pure", tok) || self.token_is_keyword(&~"pure", tok) ||
self.token_is_keyword(&~"unsafe", tok) || self.token_is_keyword(&~"unsafe", tok) ||
self.token_is_keyword(&~"once", tok) || self.token_is_keyword(&~"once", tok) ||
@@ -649,7 +649,7 @@ pub impl Parser {
self.parse_borrowed_pointee() self.parse_borrowed_pointee()
} else if self.eat_keyword(&~"extern") { } else if self.eat_keyword(&~"extern") {
self.parse_ty_bare_fn() self.parse_ty_bare_fn()
} else if self.token_is_closure_keyword(*self.token) { } else if self.token_is_closure_keyword(&*self.token) {
self.parse_ty_closure(None, None) self.parse_ty_closure(None, None)
} else if *self.token == token::MOD_SEP } else if *self.token == token::MOD_SEP
|| is_ident_or_path(*self.token) { || is_ident_or_path(*self.token) {
@@ -676,12 +676,12 @@ pub impl Parser {
token::IDENT(rname, _) => { token::IDENT(rname, _) => {
if self.look_ahead(1u) == token::BINOP(token::SLASH) && if self.look_ahead(1u) == token::BINOP(token::SLASH) &&
self.token_is_closure_keyword(self.look_ahead(2u)) self.token_is_closure_keyword(&self.look_ahead(2u))
{ {
self.bump(); self.bump();
self.bump(); self.bump();
return self.parse_ty_closure(Some(sigil), Some(rname)); return self.parse_ty_closure(Some(sigil), Some(rname));
} else if self.token_is_closure_keyword(*self.token) { } else if self.token_is_closure_keyword(&*self.token) {
return self.parse_ty_closure(Some(sigil), None); return self.parse_ty_closure(Some(sigil), None);
} }
} }
@@ -716,7 +716,7 @@ pub impl Parser {
_ => { None } _ => { None }
}; };
if self.token_is_closure_keyword(*self.token) { if self.token_is_closure_keyword(&*self.token) {
return self.parse_ty_closure(Some(BorrowedSigil), rname); return self.parse_ty_closure(Some(BorrowedSigil), rname);
} }
@@ -1912,7 +1912,7 @@ pub impl Parser {
// labeled loop headers look like 'loop foo: {' // labeled loop headers look like 'loop foo: {'
let is_labeled_loop_header = let is_labeled_loop_header =
is_ident(*self.token) is_ident(*self.token)
&& !self.is_any_keyword(*self.token) && !self.is_any_keyword(&*self.token)
&& self.look_ahead(1) == token::COLON; && self.look_ahead(1) == token::COLON;
if is_loop_header || is_labeled_loop_header { if is_loop_header || is_labeled_loop_header {
@@ -1946,7 +1946,7 @@ pub impl Parser {
fn looking_at_record_literal() -> bool { fn looking_at_record_literal() -> bool {
let lookahead = self.look_ahead(1); let lookahead = self.look_ahead(1);
*self.token == token::LBRACE && *self.token == token::LBRACE &&
(self.token_is_keyword(&~"mut", lookahead) || (self.token_is_keyword(&~"mut", &lookahead) ||
(is_plain_ident(lookahead) && (is_plain_ident(lookahead) &&
self.look_ahead(2) == token::COLON)) self.look_ahead(2) == token::COLON))
} }
@@ -2446,7 +2446,7 @@ pub impl Parser {
let decl = self.parse_let(); let decl = self.parse_let();
return @spanned(lo, decl.span.hi, stmt_decl(decl, self.get_id())); return @spanned(lo, decl.span.hi, stmt_decl(decl, self.get_id()));
} else if is_ident(*self.token) } else if is_ident(*self.token)
&& !self.is_any_keyword(*self.token) && !self.is_any_keyword(&*self.token)
&& self.look_ahead(1) == token::NOT { && self.look_ahead(1) == token::NOT {
check_expected_item(self, first_item_attrs); check_expected_item(self, first_item_attrs);
@@ -2812,10 +2812,10 @@ pub impl Parser {
fn maybe_parse_self_ty(cnstr: fn(+v: mutability) -> ast::self_ty_, fn maybe_parse_self_ty(cnstr: fn(+v: mutability) -> ast::self_ty_,
p: Parser) -> ast::self_ty_ { p: Parser) -> ast::self_ty_ {
// We need to make sure it isn't a mode or a type // We need to make sure it isn't a mode or a type
if p.token_is_keyword(&~"self", p.look_ahead(1)) || if p.token_is_keyword(&~"self", &p.look_ahead(1)) ||
((p.token_is_keyword(&~"const", p.look_ahead(1)) || ((p.token_is_keyword(&~"const", &p.look_ahead(1)) ||
p.token_is_keyword(&~"mut", p.look_ahead(1))) && p.token_is_keyword(&~"mut", &p.look_ahead(1))) &&
p.token_is_keyword(&~"self", p.look_ahead(2))) { p.token_is_keyword(&~"self", &p.look_ahead(2))) {
p.bump(); p.bump();
let mutability = p.parse_mutability(); let mutability = p.parse_mutability();
@@ -3948,7 +3948,7 @@ pub impl Parser {
vis: visibility, vis: visibility,
span: mk_sp(lo, self.last_span.hi) span: mk_sp(lo, self.last_span.hi)
}); });
} else if macros_allowed && !self.is_any_keyword(*self.token) } else if macros_allowed && !self.is_any_keyword(&*self.token)
&& self.look_ahead(1) == token::NOT && self.look_ahead(1) == token::NOT
&& (is_plain_ident(self.look_ahead(2)) && (is_plain_ident(self.look_ahead(2))
|| self.look_ahead(2) == token::LPAREN || self.look_ahead(2) == token::LPAREN
@@ -4127,9 +4127,9 @@ pub impl Parser {
tok = self.look_ahead(1); tok = self.look_ahead(1);
next_tok = self.look_ahead(2); next_tok = self.look_ahead(2);
}; };
self.token_is_keyword(&~"use", tok) self.token_is_keyword(&~"use", &tok)
|| (self.token_is_keyword(&~"extern", tok) && || (self.token_is_keyword(&~"extern", &tok) &&
self.token_is_keyword(&~"mod", next_tok)) self.token_is_keyword(&~"mod", &next_tok))
} }
// parse a view item. // parse a view item.