syntax: fix up dynamic borrow errors in libsyntax

This commit is contained in:
Niko Matsakis 2013-05-01 21:50:32 -04:00
parent fbaf8399c8
commit 5f886342be
2 changed files with 10 additions and 10 deletions

View file

@ -163,7 +163,7 @@ fn string_advance_token(r: @mut StringReader) {
}
}
fn byte_offset(rdr: @mut StringReader) -> BytePos {
fn byte_offset(rdr: &StringReader) -> BytePos {
(rdr.pos - rdr.filemap.start_pos)
}
@ -176,7 +176,7 @@ pub fn get_str_from(rdr: @mut StringReader, start: BytePos) -> ~str {
// EFFECT: advance the StringReader by one character. If a newline is
// discovered, add it to the FileMap's list of line start offsets.
pub fn bump(rdr: @mut StringReader) {
pub fn bump(rdr: &mut StringReader) {
rdr.last_pos = rdr.pos;
let current_byte_offset = byte_offset(rdr).to_uint();;
if current_byte_offset < (*rdr.src).len() {

View file

@ -1607,9 +1607,9 @@ pub impl Parser {
token::LBRACE | token::LPAREN | token::LBRACKET => {
self.parse_matcher_subseq(
name_idx,
&*self.token,
*self.token,
// tjc: not sure why we need a copy
&token::flip_delimiter(&*self.token)
token::flip_delimiter(&*self.token)
)
}
_ => self.fatal(~"expected open delimiter")
@ -1623,15 +1623,15 @@ pub impl Parser {
fn parse_matcher_subseq(
&self,
name_idx: @mut uint,
bra: &token::Token,
ket: &token::Token
bra: token::Token,
ket: token::Token
) -> ~[matcher] {
let mut ret_val = ~[];
let mut lparens = 0u;
self.expect(bra);
self.expect(&bra);
while *self.token != *ket || lparens > 0u {
while *self.token != ket || lparens > 0u {
if *self.token == token::LPAREN { lparens += 1u; }
if *self.token == token::RPAREN { lparens -= 1u; }
ret_val.push(self.parse_matcher(name_idx));
@ -1651,8 +1651,8 @@ pub impl Parser {
let name_idx_lo = *name_idx;
let ms = self.parse_matcher_subseq(
name_idx,
&token::LPAREN,
&token::RPAREN
token::LPAREN,
token::RPAREN
);
if ms.len() == 0u {
self.fatal(~"repetition body must be nonempty");