@@ -177,9 +177,7 @@ pub fn parse_stream_from_source_str(name: FileName, source: String, sess: &Parse
177177/// Create a new parser from a source string
178178pub fn new_parser_from_source_str ( sess : & ParseSess , name : FileName , source : String )
179179 -> 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) )
183181}
184182
185183/// 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,
215213
216214/// Given a source_file and config, return a parser
217215fn 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) )
226218}
227219
228220/// 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>)
269261pub fn source_file_to_stream ( sess : & ParseSess ,
270262 source_file : Lrc < SourceFile > ,
271263 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) )
275265}
276266
277267/// Given a source file, produce a sequence of token-trees. Returns any buffered errors from
0 commit comments