@@ -103,6 +103,13 @@ pub fn compile_input(sess: Session,
103
103
104
104
write_out_deps ( & sess, input, & outputs, & id[ ] ) ;
105
105
106
+ controller_entry_point ! ( after_write_deps,
107
+ CompileState :: state_after_write_deps( input,
108
+ & sess,
109
+ outdir,
110
+ & ast_map,
111
+ & id[ ] ) ) ;
112
+
106
113
let arenas = ty:: CtxtArenas :: new ( ) ;
107
114
let analysis = phase_3_run_analysis_passes ( sess,
108
115
ast_map,
@@ -176,6 +183,7 @@ pub fn source_name(input: &Input) -> String {
176
183
pub struct CompileController < ' a > {
177
184
pub after_parse : PhaseController < ' a > ,
178
185
pub after_expand : PhaseController < ' a > ,
186
+ pub after_write_deps : PhaseController < ' a > ,
179
187
pub after_analysis : PhaseController < ' a > ,
180
188
pub after_llvm : PhaseController < ' a > ,
181
189
@@ -187,6 +195,7 @@ impl<'a> CompileController<'a> {
187
195
CompileController {
188
196
after_parse : PhaseController :: basic ( ) ,
189
197
after_expand : PhaseController :: basic ( ) ,
198
+ after_write_deps : PhaseController :: basic ( ) ,
190
199
after_analysis : PhaseController :: basic ( ) ,
191
200
after_llvm : PhaseController :: basic ( ) ,
192
201
make_glob_map : resolve:: MakeGlobMap :: No ,
@@ -271,6 +280,19 @@ impl<'a, 'ast, 'tcx> CompileState<'a, 'ast, 'tcx> {
271
280
}
272
281
}
273
282
283
+ fn state_after_write_deps ( input : & ' a Input ,
284
+ session : & ' a Session ,
285
+ out_dir : & ' a Option < Path > ,
286
+ ast_map : & ' a ast_map:: Map < ' ast > ,
287
+ crate_name : & ' a str )
288
+ -> CompileState < ' a , ' ast , ' tcx > {
289
+ CompileState {
290
+ crate_name : Some ( crate_name) ,
291
+ ast_map : Some ( ast_map) ,
292
+ .. CompileState :: empty ( input, session, out_dir)
293
+ }
294
+ }
295
+
274
296
fn state_after_analysis ( input : & ' a Input ,
275
297
session : & ' a Session ,
276
298
out_dir : & ' a Option < Path > ,
0 commit comments