@@ -20,8 +20,6 @@ import syntax::ast_map;
20
20
import rustc:: back:: link;
21
21
import rustc:: metadata:: filesearch;
22
22
import rustc:: front;
23
- import rustc:: middle:: resolve;
24
- import rustc:: middle:: resolve3;
25
23
26
24
export ctxt;
27
25
export ctxt_handler;
@@ -32,9 +30,7 @@ export exec;
32
30
33
31
type ctxt = {
34
32
ast : @ast:: crate ,
35
- ast_map : ast_map:: map ,
36
- exp_map : resolve:: exp_map ,
37
- impl_map : resolve:: impl_map
33
+ ast_map : ast_map:: map
38
34
} ;
39
35
40
36
type srv_owner < T > = fn ( srv : srv ) -> T ;
@@ -72,12 +68,11 @@ fn run<T>(owner: srv_owner<T>, source: ~str, +parse: parser) -> T {
72
68
}
73
69
74
70
fn act ( po : comm:: port < msg > , source : ~str , parse : parser ) {
75
- let ( sess, ignore_errors ) = build_session ( ) ;
71
+ let sess = build_session ( ) ;
76
72
77
73
let ctxt = build_ctxt (
78
74
sess,
79
- parse ( sess, source) ,
80
- ignore_errors
75
+ parse ( sess, source)
81
76
) ;
82
77
83
78
let mut keep_going = true ;
@@ -107,41 +102,34 @@ fn exec<T:send>(
107
102
}
108
103
109
104
fn build_ctxt ( sess : session ,
110
- ast : @ast:: crate ,
111
- ignore_errors : @mut bool ) -> ctxt {
105
+ ast : @ast:: crate ) -> ctxt {
112
106
113
107
import rustc:: front:: config;
114
108
115
109
let ast = config:: strip_unconfigured_items ( ast) ;
116
110
let ast = front:: test:: modify_for_testing ( sess, ast) ;
117
111
let ast_map = ast_map:: map_crate ( sess. diagnostic ( ) , * ast) ;
118
- * ignore_errors = true ;
119
- let { exp_map, impl_map, _} = resolve3:: resolve_crate ( sess, ast_map, ast) ;
120
- * ignore_errors = false ;
121
112
122
113
{
123
114
ast: ast,
124
115
ast_map: ast_map,
125
- exp_map: exp_map,
126
- impl_map: impl_map
127
116
}
128
117
}
129
118
130
- fn build_session ( ) -> ( session , @ mut bool ) {
119
+ fn build_session ( ) -> session {
131
120
let sopts: @options = basic_options ( ) ;
132
121
let codemap = codemap:: new_codemap ( ) ;
133
122
let error_handlers = build_error_handlers ( codemap) ;
134
- let { emitter, span_handler, ignore_errors } = error_handlers;
123
+ let { emitter, span_handler} = error_handlers;
135
124
136
125
let session = driver:: build_session_ ( sopts, codemap, emitter,
137
126
span_handler) ;
138
- ( session, ignore_errors )
127
+ session
139
128
}
140
129
141
130
type error_handlers = {
142
131
emitter : diagnostic:: emitter ,
143
- span_handler : diagnostic:: span_handler ,
144
- ignore_errors : @mut bool
132
+ span_handler : diagnostic:: span_handler
145
133
} ;
146
134
147
135
// Build a custom error handler that will allow us to ignore non-fatal
@@ -152,16 +140,13 @@ fn build_error_handlers(
152
140
153
141
type diagnostic_handler = {
154
142
inner : diagnostic:: handler ,
155
- ignore_errors : @mut bool
156
143
} ;
157
144
158
145
impl of diagnostic:: handler for diagnostic_handler {
159
146
fn fatal ( msg : ~str ) -> ! { self . inner . fatal ( msg) }
160
147
fn err ( msg : ~str ) { self . inner . err ( msg) }
161
148
fn bump_err_count ( ) {
162
- if !( * self . ignore_errors ) {
163
- self . inner . bump_err_count ( ) ;
164
- }
149
+ self . inner . bump_err_count ( ) ;
165
150
}
166
151
fn has_errors ( ) -> bool { self . inner . has_errors ( ) }
167
152
fn abort_if_errors ( ) { self . inner . abort_if_errors ( ) }
@@ -175,25 +160,20 @@ fn build_error_handlers(
175
160
}
176
161
}
177
162
178
- let ignore_errors = @mut false ;
179
163
let emitter = fn @( cmsp: option<( codemap:: codemap, codemap:: span) >,
180
164
msg: ~str, lvl: diagnostic:: level) {
181
- if !( * ignore_errors) {
182
- diagnostic:: emit ( cmsp, msg, lvl) ;
183
- }
165
+ diagnostic:: emit ( cmsp, msg, lvl) ;
184
166
} ;
185
167
let inner_handler = diagnostic:: mk_handler ( some ( emitter) ) ;
186
168
let handler = {
187
169
inner: inner_handler,
188
- ignore_errors: ignore_errors
189
170
} ;
190
171
let span_handler = diagnostic:: mk_span_handler (
191
172
handler as diagnostic:: handler , codemap) ;
192
173
193
174
{
194
175
emitter: emitter,
195
- span_handler: span_handler,
196
- ignore_errors: ignore_errors
176
+ span_handler: span_handler
197
177
}
198
178
}
199
179
@@ -217,48 +197,6 @@ fn srv_should_build_ast_map() {
217
197
}
218
198
}
219
199
220
- #[test]
221
- fn srv_should_build_reexport_map() {
222
- let source = ~" import a:: b; export b; mod a { mod b { } } ";
223
- do from_str(source) |srv| {
224
- do exec(srv) |ctxt| {
225
- assert ctxt.exp_map.size() != 0u
226
- };
227
- }
228
- }
229
-
230
- #[test]
231
- fn srv_should_resolve_external_crates() {
232
- let source = ~" use std; \
233
- fn f ( ) -> std:: sha1:: sha1 { \
234
- std:: sha1:: mk_sha1 ( ) } ";
235
- // Just testing that resolve doesn't crash
236
- from_str(source, |_srv| { } )
237
- }
238
-
239
- #[test]
240
- fn srv_should_resolve_core_crate() {
241
- let source = ~" fn a ( ) -> option { fail } ";
242
- // Just testing that resolve doesn't crash
243
- from_str(source, |_srv| { } )
244
- }
245
-
246
- #[test]
247
- fn srv_should_resolve_non_existant_imports() {
248
- // XXX: XFAIL'd
249
-
250
- // We want to ignore things we can't resolve. Shouldn't
251
- // need to be able to find external crates to create docs.
252
- //let source = ~" import wooboo; fn a ( ) { } ";
253
- //from_str(source, |_srv| { } )
254
- }
255
-
256
- #[test]
257
- fn srv_should_resolve_non_existant_uses() {
258
- let source = ~" use forble; fn a ( ) { } ";
259
- from_str(source, |_srv| { } )
260
- }
261
-
262
200
#[test]
263
201
fn should_ignore_external_import_paths_that_dont_exist() {
264
202
let source = ~" use forble; import forble:: bippy; ";
0 commit comments