@@ -10,17 +10,19 @@ extern crate rustc_metadata;
10
10
extern crate getopts;
11
11
extern crate rustc_ast;
12
12
extern crate rustc_errors;
13
+ extern crate rustc_middle;
13
14
extern crate rustc_target;
14
15
extern crate rustc_session;
15
16
16
17
extern crate mir_json;
17
18
18
19
use mir_json:: analyz;
19
20
use mir_json:: link;
21
+ use rustc_ast:: Crate ;
22
+ use rustc_middle:: ty:: TyCtxt ;
20
23
use rustc_session:: config:: Externs ;
21
24
use rustc_driver:: Compilation ;
22
25
use rustc_interface:: interface:: { Compiler , Config } ;
23
- use rustc_interface:: Queries ;
24
26
use rustc_session:: config:: ExternLocation ;
25
27
use std:: collections:: HashSet ;
26
28
use std:: env;
@@ -47,20 +49,18 @@ impl rustc_driver::Callbacks for GetOutputPathCallbacks {
47
49
}
48
50
49
51
// RUSTUP_TODO: see mir-json.rs (already updated to fix some issues with Callbacks)
50
- fn after_parsing < ' tcx > (
52
+ fn after_crate_root_parsing < ' tcx > (
51
53
& mut self ,
52
54
compiler : & Compiler ,
53
- queries : & ' tcx Queries < ' tcx > ,
55
+ krate : & mut Crate ,
54
56
) -> Compilation {
55
57
// This phase runs with `--cfg crux`, so some `#[crux::test]` attrs may be visible. Even
56
58
// the limited amount of compilation we do will fail without the injected `register_attr`.
57
- analyz:: inject_attrs ( queries ) ;
59
+ analyz:: inject_attrs ( krate ) ;
58
60
59
- let sess = compiler. session ( ) ;
61
+ let sess = compiler. sess ;
60
62
let ( crate_name, outputs) = {
61
63
// rustc_session::find_crate_name - get the crate with queries.expansion?
62
- let krate = queries. parse ( ) . unwrap ( ) ;
63
- let krate = krate. borrow ( ) ;
64
64
let crate_name = rustc_session:: output:: find_crate_name ( & sess, & krate. attrs ) ;
65
65
let outputs = compiler. build_output_filenames ( & sess, & krate. attrs ) ;
66
66
( crate_name, outputs)
@@ -111,31 +111,30 @@ impl rustc_driver::Callbacks for MirJsonCallbacks {
111
111
scrub_externs ( & mut config. opts . externs , & self . use_override_crates ) ;
112
112
}
113
113
114
- // RUSTUP_TODO: see mir-json.rs (already updated to fix some issues with Callbacks)
115
- fn after_parsing < ' tcx > (
114
+ fn after_crate_root_parsing < ' tcx > (
116
115
& mut self ,
117
116
_compiler : & Compiler ,
118
- queries : & ' tcx Queries < ' tcx > ,
117
+ krate : & mut Crate ,
119
118
) -> Compilation {
120
- analyz:: inject_attrs ( queries ) ;
119
+ analyz:: inject_attrs ( krate ) ;
121
120
Compilation :: Continue
122
121
}
123
122
124
123
fn after_expansion < ' tcx > (
125
124
& mut self ,
126
125
_compiler : & Compiler ,
127
- queries : & ' tcx Queries < ' tcx > ,
126
+ tcx : TyCtxt < ' tcx > ,
128
127
) -> Compilation {
129
- analyz:: gather_match_spans ( queries ) ;
128
+ analyz:: gather_match_spans ( tcx ) ;
130
129
Compilation :: Continue
131
130
}
132
131
133
132
fn after_analysis < ' tcx > (
134
133
& mut self ,
135
134
compiler : & Compiler ,
136
- queries : & ' tcx Queries < ' tcx > ,
135
+ tcx : TyCtxt < ' tcx > ,
137
136
) -> Compilation {
138
- self . analysis_data = analyz:: analyze ( compiler. session ( ) , queries , self . export_style ) . unwrap ( ) ;
137
+ self . analysis_data = analyz:: analyze ( & compiler. sess , tcx , self . export_style ) . unwrap ( ) ;
139
138
Compilation :: Continue
140
139
}
141
140
}
0 commit comments