@@ -177,9 +177,7 @@ pub fn parse_stream_from_source_str(name: FileName, source: String, sess: &Parse
177
177
/// Create a new parser from a source string
178
178
pub fn new_parser_from_source_str ( sess : & ParseSess , name : FileName , source : String )
179
179
-> Parser {
180
- let mut parser = source_file_to_parser ( sess, sess. source_map ( ) . new_source_file ( name, source) ) ;
181
- parser. recurse_into_file_modules = false ;
182
- parser
180
+ panictry_buffer ! ( & sess. span_diagnostic, maybe_new_parser_from_source_str( sess, name, source) )
183
181
}
184
182
185
183
/// Create a new parser from a source string. Returns any buffered errors from lexing the initial
@@ -215,14 +213,8 @@ crate fn new_sub_parser_from_file<'a>(sess: &'a ParseSess,
215
213
216
214
/// Given a source_file and config, return a parser
217
215
fn source_file_to_parser ( sess : & ParseSess , source_file : Lrc < SourceFile > ) -> Parser {
218
- let end_pos = source_file. end_pos ;
219
- let mut parser = stream_to_parser ( sess, source_file_to_stream ( sess, source_file, None ) ) ;
220
-
221
- if parser. token == token:: Eof && parser. span . is_dummy ( ) {
222
- parser. span = Span :: new ( end_pos, end_pos, parser. span . ctxt ( ) ) ;
223
- }
224
-
225
- parser
216
+ panictry_buffer ! ( & sess. span_diagnostic,
217
+ maybe_source_file_to_parser( sess, source_file) )
226
218
}
227
219
228
220
/// Given a source_file and config, return a parser. Returns any buffered errors from lexing the
@@ -269,9 +261,7 @@ fn file_to_source_file(sess: &ParseSess, path: &Path, spanopt: Option<Span>)
269
261
pub fn source_file_to_stream ( sess : & ParseSess ,
270
262
source_file : Lrc < SourceFile > ,
271
263
override_span : Option < Span > ) -> TokenStream {
272
- let mut srdr = lexer:: StringReader :: new ( sess, source_file, override_span) ;
273
- srdr. real_token ( ) ;
274
- panictry ! ( srdr. parse_all_token_trees( ) )
264
+ panictry_buffer ! ( & sess. span_diagnostic, maybe_file_to_stream( sess, source_file, override_span) )
275
265
}
276
266
277
267
/// Given a source file, produce a sequence of token-trees. Returns any buffered errors from
0 commit comments