libsyntax: change attr::parse_seq_* to take &Token

This commit is contained in:
Erick Tryzelaar
2013-02-24 18:55:24 -08:00
parent 3180d22dde
commit cf6e21a17f
4 changed files with 55 additions and 55 deletions

View File

@@ -295,7 +295,7 @@ pub impl Parser {
// f must consume tokens until reaching the next separator or
// closing bracket.
fn parse_seq_to_end<T: Copy>(
ket: token::Token,
ket: &token::Token,
sep: SeqSep,
f: fn(Parser) -> T
) -> ~[T] {
@@ -308,13 +308,13 @@ pub impl Parser {
// f must consume tokens until reaching the next separator or
// closing bracket.
fn parse_seq_to_before_end<T: Copy>(
ket: token::Token,
ket: &token::Token,
sep: SeqSep,
f: fn(Parser) -> T
) -> ~[T] {
let mut first: bool = true;
let mut v: ~[T] = ~[];
while *self.token != ket {
while *self.token != *ket {
match sep.sep {
Some(ref t) => {
if first { first = false; }
@@ -322,22 +322,22 @@ pub impl Parser {
}
_ => ()
}
if sep.trailing_sep_allowed && *self.token == ket { break; }
if sep.trailing_sep_allowed && *self.token == *ket { break; }
v.push(f(self));
}
v
return v;
}
// parse a sequence, including the closing delimiter. The function
// f must consume tokens until reaching the next separator or
// closing bracket.
fn parse_unspanned_seq<T: Copy>(
+bra: token::Token,
+ket: token::Token,
bra: &token::Token,
ket: &token::Token,
sep: SeqSep,
f: fn(Parser) -> T
) -> ~[T] {
self.expect(&bra);
self.expect(bra);
let result = self.parse_seq_to_before_end(ket, sep, f);
self.bump();
result
@@ -346,13 +346,13 @@ pub impl Parser {
// NB: Do not use this function unless you actually plan to place the
// spanned list in the AST.
fn parse_seq<T: Copy>(
+bra: token::Token,
+ket: token::Token,
bra: &token::Token,
ket: &token::Token,
sep: SeqSep,
f: fn(Parser) -> T
) -> spanned<~[T]> {
let lo = self.span.lo;
self.expect(&bra);
self.expect(bra);
let result = self.parse_seq_to_before_end(ket, sep, f);
let hi = self.span.hi;
self.bump();