libsyntax: change attr::parse_seq_* to take &Token
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user