@@ -342,17 +342,27 @@ pub fn phase_3_run_analysis_passes<'tcx>(sess: Session,
342342 let lang_items = time ( time_passes, "language item collection" , ( ) , |_|
343343 middle:: lang_items:: collect_language_items ( krate, & sess) ) ;
344344
345+ let make_glob_map = if save_analysis ( & sess) {
346+ resolve:: MakeGlobMap :: Yes
347+ } else {
348+ resolve:: MakeGlobMap :: No
349+ } ;
345350 let resolve:: CrateMap {
346351 def_map,
347352 freevars,
348353 capture_mode_map,
349354 export_map,
350355 trait_map,
351356 external_exports,
352- last_private_map
357+ last_private_map,
358+ glob_map,
353359 } =
354360 time ( time_passes, "resolution" , ( ) ,
355- |_| resolve:: resolve_crate ( & sess, & lang_items, krate) ) ;
361+ |_| resolve:: resolve_crate ( & sess,
362+ & ast_map,
363+ & lang_items,
364+ krate,
365+ make_glob_map) ) ;
356366
357367 // Discard MTWT tables that aren't required past resolution.
358368 syntax:: ext:: mtwt:: clear_tables ( ) ;
@@ -454,14 +464,19 @@ pub fn phase_3_run_analysis_passes<'tcx>(sess: Session,
454464 public_items : public_items,
455465 reachable : reachable_map,
456466 name : name,
467+ glob_map : glob_map,
457468 }
458469}
459470
471+ fn save_analysis ( sess : & Session ) -> bool {
472+ ( sess. opts . debugging_opts & config:: SAVE_ANALYSIS ) != 0
473+ }
474+
460475pub fn phase_save_analysis ( sess : & Session ,
461476 krate : & ast:: Crate ,
462477 analysis : & ty:: CrateAnalysis ,
463478 odir : & Option < Path > ) {
464- if ( sess. opts . debugging_opts & config :: SAVE_ANALYSIS ) == 0 {
479+ if ! save_analysis ( sess) {
465480 return ;
466481 }
467482 time ( sess. time_passes ( ) , "save analysis" , krate, |krate|
0 commit comments