Skip to content

Commit 1856087

Browse files
committed
libsyntax: De-@mut StringReader::peek_span
1 parent a214b8e commit 1856087

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

src/libsyntax/parse/lexer.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ pub struct StringReader {
5454
filemap: @codemap::FileMap,
5555
/* cached: */
5656
peek_tok: RefCell<token::Token>,
57-
peek_span: Span
57+
peek_span: RefCell<Span>,
5858
}
5959

6060
pub fn new_string_reader(span_diagnostic: @mut SpanHandler,
@@ -81,7 +81,7 @@ pub fn new_low_level_string_reader(span_diagnostic: @mut SpanHandler,
8181
filemap: filemap,
8282
/* dummy values; not read */
8383
peek_tok: RefCell::new(token::EOF),
84-
peek_span: codemap::DUMMY_SP
84+
peek_span: RefCell::new(codemap::DUMMY_SP),
8585
};
8686
bump(r);
8787
return r;
@@ -100,7 +100,7 @@ fn dup_string_reader(r: @mut StringReader) -> @mut StringReader {
100100
curr: Cell::new(r.curr.get()),
101101
filemap: r.filemap,
102102
peek_tok: r.peek_tok.clone(),
103-
peek_span: r.peek_span
103+
peek_span: r.peek_span.clone(),
104104
}
105105
}
106106

@@ -112,21 +112,21 @@ impl reader for StringReader {
112112
let mut peek_tok = self.peek_tok.borrow_mut();
113113
TokenAndSpan {
114114
tok: util::replace(peek_tok.get(), token::UNDERSCORE),
115-
sp: self.peek_span,
115+
sp: self.peek_span.get(),
116116
}
117117
};
118118
string_advance_token(self);
119119
ret_val
120120
}
121121
fn fatal(@mut self, m: ~str) -> ! {
122-
self.span_diagnostic.span_fatal(self.peek_span, m)
122+
self.span_diagnostic.span_fatal(self.peek_span.get(), m)
123123
}
124124
fn span_diag(@mut self) -> @mut SpanHandler { self.span_diagnostic }
125125
fn peek(@mut self) -> TokenAndSpan {
126126
// XXX(pcwalton): Bad copy!
127127
TokenAndSpan {
128128
tok: self.peek_tok.get(),
129-
sp: self.peek_span,
129+
sp: self.peek_span.get(),
130130
}
131131
}
132132
fn dup(@mut self) -> @mut reader { dup_string_reader(self) as @mut reader }
@@ -158,7 +158,7 @@ fn fatal_span(rdr: @mut StringReader,
158158
to_pos: BytePos,
159159
m: ~str)
160160
-> ! {
161-
rdr.peek_span = codemap::mk_sp(from_pos, to_pos);
161+
rdr.peek_span.set(codemap::mk_sp(from_pos, to_pos));
162162
rdr.fatal(m);
163163
}
164164

@@ -197,7 +197,7 @@ fn fatal_span_verbose(rdr: @mut StringReader,
197197
fn string_advance_token(r: @mut StringReader) {
198198
match (consume_whitespace_and_comments(r)) {
199199
Some(comment) => {
200-
r.peek_span = comment.sp;
200+
r.peek_span.set(comment.sp);
201201
r.peek_tok.set(comment.tok);
202202
},
203203
None => {
@@ -206,7 +206,8 @@ fn string_advance_token(r: @mut StringReader) {
206206
} else {
207207
let start_bytepos = r.last_pos.get();
208208
r.peek_tok.set(next_token_inner(r));
209-
r.peek_span = codemap::mk_sp(start_bytepos, r.last_pos.get());
209+
r.peek_span.set(codemap::mk_sp(start_bytepos,
210+
r.last_pos.get()));
210211
};
211212
}
212213
}

0 commit comments

Comments
 (0)