@@ -42,7 +42,6 @@ pub struct TokenAndSpan {
42
42
43
43
pub struct StringReader {
44
44
span_diagnostic : @SpanHandler ,
45
- src : @str ,
46
45
// The absolute offset within the codemap of the next character to read
47
46
pos : Cell < BytePos > ,
48
47
// The absolute offset within the codemap of the last character read(curr)
@@ -73,7 +72,6 @@ pub fn new_low_level_string_reader(span_diagnostic: @SpanHandler,
73
72
let initial_char = '\n' ;
74
73
let r = @StringReader {
75
74
span_diagnostic : span_diagnostic,
76
- src : filemap. src ,
77
75
pos : Cell :: new ( filemap. start_pos ) ,
78
76
last_pos : Cell :: new ( filemap. start_pos ) ,
79
77
col : Cell :: new ( CharPos ( 0 ) ) ,
@@ -93,7 +91,6 @@ pub fn new_low_level_string_reader(span_diagnostic: @SpanHandler,
93
91
fn dup_string_reader ( r : @StringReader ) -> @StringReader {
94
92
@StringReader {
95
93
span_diagnostic : r. span_diagnostic ,
96
- src : r. src ,
97
94
pos : Cell :: new ( r. pos . get ( ) ) ,
98
95
last_pos : Cell :: new ( r. last_pos . get ( ) ) ,
99
96
col : Cell :: new ( r. col . get ( ) ) ,
@@ -188,7 +185,7 @@ fn fatal_span_verbose(rdr: @StringReader,
188
185
-> ! {
189
186
let mut m = m;
190
187
m. push_str ( ": " ) ;
191
- let s = rdr. src . slice (
188
+ let s = rdr. filemap . src . slice (
192
189
byte_offset ( rdr, from_pos) . to_uint ( ) ,
193
190
byte_offset ( rdr, to_pos) . to_uint ( ) ) ;
194
191
m. push_str ( s) ;
@@ -239,7 +236,7 @@ fn with_str_from_to<T>(
239
236
end : BytePos ,
240
237
f: |s: & str | -> T )
241
238
-> T {
242
- f ( rdr. src . slice (
239
+ f ( rdr. filemap . src . slice (
243
240
byte_offset ( rdr, start) . to_uint ( ) ,
244
241
byte_offset ( rdr, end) . to_uint ( ) ) )
245
242
}
@@ -249,12 +246,12 @@ fn with_str_from_to<T>(
249
246
pub fn bump ( rdr : & StringReader ) {
250
247
rdr. last_pos . set ( rdr. pos . get ( ) ) ;
251
248
let current_byte_offset = byte_offset ( rdr, rdr. pos . get ( ) ) . to_uint ( ) ;
252
- if current_byte_offset < ( rdr. src ) . len ( ) {
249
+ if current_byte_offset < ( rdr. filemap . src ) . len ( ) {
253
250
assert ! ( rdr. curr. get( ) != unsafe {
254
251
transmute( -1u32 )
255
252
} ) ; // FIXME: #8971: unsound
256
253
let last_char = rdr. curr . get ( ) ;
257
- let next = rdr. src . char_range_at ( current_byte_offset) ;
254
+ let next = rdr. filemap . src . char_range_at ( current_byte_offset) ;
258
255
let byte_offset_diff = next. next - current_byte_offset;
259
256
rdr. pos . set ( rdr. pos . get ( ) + Pos :: from_uint ( byte_offset_diff) ) ;
260
257
rdr. curr . set ( next. ch ) ;
@@ -277,8 +274,8 @@ pub fn is_eof(rdr: @StringReader) -> bool {
277
274
}
278
275
pub fn nextch ( rdr : @StringReader ) -> char {
279
276
let offset = byte_offset ( rdr, rdr. pos . get ( ) ) . to_uint ( ) ;
280
- if offset < ( rdr. src ) . len ( ) {
281
- return rdr. src . char_at ( offset) ;
277
+ if offset < ( rdr. filemap . src ) . len ( ) {
278
+ return rdr. filemap . src . char_at ( offset) ;
282
279
} else { return unsafe { transmute ( -1u32 ) } ; } // FIXME: #8971: unsound
283
280
}
284
281
0 commit comments