@@ -155,13 +155,15 @@ impl<'a> StringReader<'a> {
155
155
156
156
impl < ' a > StringReader < ' a > {
157
157
/// For comments.rs, which hackily pokes into next_pos and ch
158
- pub fn new_raw ( sess : & ' a ParseSess , filemap : Lrc < syntax_pos:: FileMap > ) -> Self {
159
- let mut sr = StringReader :: new_raw_internal ( sess, filemap) ;
158
+ pub fn new_raw ( sess : & ' a ParseSess , filemap : Lrc < syntax_pos:: FileMap > ,
159
+ override_span : Option < Span > ) -> Self {
160
+ let mut sr = StringReader :: new_raw_internal ( sess, filemap, override_span) ;
160
161
sr. bump ( ) ;
161
162
sr
162
163
}
163
164
164
- fn new_raw_internal ( sess : & ' a ParseSess , filemap : Lrc < syntax_pos:: FileMap > ) -> Self {
165
+ fn new_raw_internal ( sess : & ' a ParseSess , filemap : Lrc < syntax_pos:: FileMap > ,
166
+ override_span : Option < Span > ) -> Self {
165
167
if filemap. src . is_none ( ) {
166
168
sess. span_diagnostic . bug ( & format ! ( "Cannot lex filemap without source: {}" ,
167
169
filemap. name) ) ;
@@ -185,12 +187,13 @@ impl<'a> StringReader<'a> {
185
187
token : token:: Eof ,
186
188
span : syntax_pos:: DUMMY_SP ,
187
189
open_braces : Vec :: new ( ) ,
188
- override_span : None ,
190
+ override_span,
189
191
}
190
192
}
191
193
192
- pub fn new ( sess : & ' a ParseSess , filemap : Lrc < syntax_pos:: FileMap > ) -> Self {
193
- let mut sr = StringReader :: new_raw ( sess, filemap) ;
194
+ pub fn new ( sess : & ' a ParseSess , filemap : Lrc < syntax_pos:: FileMap > , override_span : Option < Span > )
195
+ -> Self {
196
+ let mut sr = StringReader :: new_raw ( sess, filemap, override_span) ;
194
197
if sr. advance_token ( ) . is_err ( ) {
195
198
sr. emit_fatal_errors ( ) ;
196
199
FatalError . raise ( ) ;
@@ -207,7 +210,7 @@ impl<'a> StringReader<'a> {
207
210
span = span. shrink_to_lo ( ) ;
208
211
}
209
212
210
- let mut sr = StringReader :: new_raw_internal ( sess, begin. fm ) ;
213
+ let mut sr = StringReader :: new_raw_internal ( sess, begin. fm , None ) ;
211
214
212
215
// Seek the lexer to the right byte range.
213
216
sr. save_new_lines_and_multibyte = false ;
@@ -1795,7 +1798,7 @@ mod tests {
1795
1798
teststr : String )
1796
1799
-> StringReader < ' a > {
1797
1800
let fm = cm. new_filemap ( PathBuf :: from ( "zebra.rs" ) . into ( ) , teststr) ;
1798
- StringReader :: new ( sess, fm)
1801
+ StringReader :: new ( sess, fm, None )
1799
1802
}
1800
1803
1801
1804
#[ test]
0 commit comments