@@ -54,7 +54,7 @@ pub struct StringReader {
54
54
filemap : @codemap:: FileMap ,
55
55
/* cached: */
56
56
peek_tok : RefCell < token:: Token > ,
57
- peek_span : Span
57
+ peek_span : RefCell < Span > ,
58
58
}
59
59
60
60
pub fn new_string_reader ( span_diagnostic : @mut SpanHandler ,
@@ -81,7 +81,7 @@ pub fn new_low_level_string_reader(span_diagnostic: @mut SpanHandler,
81
81
filemap : filemap,
82
82
/* dummy values; not read */
83
83
peek_tok : RefCell :: new ( token:: EOF ) ,
84
- peek_span : codemap:: DUMMY_SP
84
+ peek_span : RefCell :: new ( codemap:: DUMMY_SP ) ,
85
85
} ;
86
86
bump ( r) ;
87
87
return r;
@@ -100,7 +100,7 @@ fn dup_string_reader(r: @mut StringReader) -> @mut StringReader {
100
100
curr : Cell :: new ( r. curr . get ( ) ) ,
101
101
filemap : r. filemap ,
102
102
peek_tok : r. peek_tok . clone ( ) ,
103
- peek_span : r. peek_span
103
+ peek_span : r. peek_span . clone ( ) ,
104
104
}
105
105
}
106
106
@@ -112,21 +112,21 @@ impl reader for StringReader {
112
112
let mut peek_tok = self . peek_tok . borrow_mut ( ) ;
113
113
TokenAndSpan {
114
114
tok : util:: replace ( peek_tok. get ( ) , token:: UNDERSCORE ) ,
115
- sp : self . peek_span ,
115
+ sp : self . peek_span . get ( ) ,
116
116
}
117
117
} ;
118
118
string_advance_token ( self ) ;
119
119
ret_val
120
120
}
121
121
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)
123
123
}
124
124
fn span_diag ( @mut self ) -> @mut SpanHandler { self . span_diagnostic }
125
125
fn peek ( @mut self ) -> TokenAndSpan {
126
126
// XXX(pcwalton): Bad copy!
127
127
TokenAndSpan {
128
128
tok : self . peek_tok . get ( ) ,
129
- sp : self . peek_span ,
129
+ sp : self . peek_span . get ( ) ,
130
130
}
131
131
}
132
132
fn dup ( @mut self ) -> @mut reader { dup_string_reader ( self ) as @mut reader }
@@ -158,7 +158,7 @@ fn fatal_span(rdr: @mut StringReader,
158
158
to_pos : BytePos ,
159
159
m : ~str )
160
160
-> ! {
161
- rdr. peek_span = codemap:: mk_sp ( from_pos, to_pos) ;
161
+ rdr. peek_span . set ( codemap:: mk_sp ( from_pos, to_pos) ) ;
162
162
rdr. fatal ( m) ;
163
163
}
164
164
@@ -197,7 +197,7 @@ fn fatal_span_verbose(rdr: @mut StringReader,
197
197
fn string_advance_token ( r : @mut StringReader ) {
198
198
match ( consume_whitespace_and_comments ( r) ) {
199
199
Some ( comment) => {
200
- r. peek_span = comment. sp ;
200
+ r. peek_span . set ( comment. sp ) ;
201
201
r. peek_tok . set ( comment. tok ) ;
202
202
} ,
203
203
None => {
@@ -206,7 +206,8 @@ fn string_advance_token(r: @mut StringReader) {
206
206
} else {
207
207
let start_bytepos = r. last_pos . get ( ) ;
208
208
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 ( ) ) ) ;
210
211
} ;
211
212
}
212
213
}
0 commit comments