@@ -19,7 +19,7 @@ use rustc_middle::arena::Arena;
19
19
use rustc_middle:: dep_graph:: DepGraph ;
20
20
use rustc_middle:: ty:: { self , GlobalCtxt , RegisteredTools , TyCtxt } ;
21
21
use rustc_middle:: util:: Providers ;
22
- use rustc_parse:: { parse_crate_from_file , parse_crate_from_source_str , validate_attr} ;
22
+ use rustc_parse:: { new_parser_from_file , new_parser_from_source_str , validate_attr} ;
23
23
use rustc_passes:: { abi_test, hir_stats, layout_test} ;
24
24
use rustc_resolve:: Resolver ;
25
25
use rustc_session:: code_stats:: VTableSizeInfo ;
@@ -42,11 +42,14 @@ use std::{env, fs, iter};
42
42
use tracing:: { info, instrument} ;
43
43
44
44
pub fn parse < ' a > ( sess : & ' a Session ) -> PResult < ' a , ast:: Crate > {
45
- let krate = sess. time ( "parse_crate" , || match & sess. io . input {
46
- Input :: File ( file) => parse_crate_from_file ( file, & sess. psess ) ,
47
- Input :: Str { input, name } => {
48
- parse_crate_from_source_str ( name. clone ( ) , input. clone ( ) , & sess. psess )
49
- }
45
+ let krate = sess. time ( "parse_crate" , || {
46
+ let mut parser = match & sess. io . input {
47
+ Input :: File ( file) => new_parser_from_file ( & sess. psess , file, None ) ,
48
+ Input :: Str { input, name } => {
49
+ new_parser_from_source_str ( & sess. psess , name. clone ( ) , input. clone ( ) )
50
+ }
51
+ } ;
52
+ parser. parse_crate_mod ( )
50
53
} ) ?;
51
54
52
55
if sess. opts . unstable_opts . input_stats {
0 commit comments