@@ -55,7 +55,7 @@ trait ext_ctxt_ast_builder {
55
55
fn arg_mode ( name : ident , ty : @ast:: ty , mode : ast:: rmode ) -> ast:: arg ;
56
56
fn expr_block ( e : @ast:: expr ) -> ast:: blk ;
57
57
fn fn_decl ( +inputs : ~[ ast:: arg ] , output : @ast:: ty ) -> ast:: fn_decl ;
58
- fn item ( name : ident , +node : ast:: item_ ) -> @ast:: item ;
58
+ fn item ( name : ident , span : span , +node : ast:: item_ ) -> @ast:: item ;
59
59
fn item_fn_poly ( name : ident ,
60
60
+inputs : ~[ ast:: arg ] ,
61
61
output : @ast:: ty ,
@@ -66,16 +66,19 @@ trait ext_ctxt_ast_builder {
66
66
output : @ast:: ty ,
67
67
+body : ast:: blk ) -> @ast:: item ;
68
68
fn item_enum_poly ( name : ident ,
69
+ span : span ,
69
70
+enum_definition : ast:: enum_def ,
70
71
+ty_params : ~[ ast:: ty_param ] ) -> @ast:: item ;
71
- fn item_enum ( name : ident , +enum_definition : ast:: enum_def ) -> @ast:: item ;
72
- fn variant ( name : ident , +tys : ~[ @ast:: ty ] ) -> ast:: variant ;
73
- fn item_mod ( name : ident , +items : ~[ @ast:: item ] ) -> @ast:: item ;
72
+ fn item_enum ( name : ident , span : span ,
73
+ +enum_definition : ast:: enum_def ) -> @ast:: item ;
74
+ fn variant ( name : ident , span : span , +tys : ~[ @ast:: ty ] ) -> ast:: variant ;
75
+ fn item_mod ( name : ident , span : span , +items : ~[ @ast:: item ] ) -> @ast:: item ;
74
76
fn ty_path_ast_builder ( path : @ast:: path ) -> @ast:: ty ;
75
77
fn item_ty_poly ( name : ident ,
78
+ span : span ,
76
79
ty : @ast:: ty ,
77
80
+params : ~[ ast:: ty_param ] ) -> @ast:: item ;
78
- fn item_ty ( name : ident , ty : @ast:: ty ) -> @ast:: item ;
81
+ fn item_ty ( name : ident , span : span , ty : @ast:: ty ) -> @ast:: item ;
79
82
fn ty_vars ( +ty_params : ~[ ast:: ty_param ] ) -> ~[ @ast:: ty ] ;
80
83
fn ty_field_imm ( name : ident , ty : @ast:: ty ) -> ast:: ty_field ;
81
84
fn ty_rec ( +~[ ast:: ty_field ] ) -> @ast:: ty ;
@@ -208,13 +211,14 @@ impl ext_ctxt: ext_ctxt_ast_builder {
208
211
}
209
212
210
213
fn item ( name : ident ,
214
+ span : span ,
211
215
+node : ast:: item_ ) -> @ast:: item {
212
216
@{ ident: name,
213
217
attrs: ~[ ] ,
214
218
id: self . next_id ( ) ,
215
219
node: node,
216
220
vis: ast:: public,
217
- span: self . empty_span ( ) }
221
+ span: span }
218
222
}
219
223
220
224
fn item_fn_poly ( name : ident ,
@@ -223,6 +227,7 @@ impl ext_ctxt: ext_ctxt_ast_builder {
223
227
+ty_params : ~[ ast:: ty_param ] ,
224
228
+body : ast:: blk ) -> @ast:: item {
225
229
self . item ( name,
230
+ self . empty_span ( ) ,
226
231
ast:: item_fn ( self . fn_decl ( inputs, output) ,
227
232
ty_params,
228
233
body) )
@@ -236,16 +241,19 @@ impl ext_ctxt: ext_ctxt_ast_builder {
236
241
}
237
242
238
243
fn item_enum_poly ( name : ident ,
244
+ span : span ,
239
245
+enum_definition : ast:: enum_def ,
240
246
+ty_params : ~[ ast:: ty_param ] ) -> @ast:: item {
241
- self . item ( name, ast:: item_enum ( enum_definition, ty_params) )
247
+ self . item ( name, span , ast:: item_enum ( enum_definition, ty_params) )
242
248
}
243
249
244
- fn item_enum ( name : ident , +enum_definition : ast:: enum_def ) -> @ast:: item {
245
- self . item_enum_poly ( name, enum_definition, ~[ ] )
250
+ fn item_enum ( name : ident , span : span ,
251
+ +enum_definition : ast:: enum_def ) -> @ast:: item {
252
+ self . item_enum_poly ( name, span, enum_definition, ~[ ] )
246
253
}
247
254
248
255
fn variant ( name : ident ,
256
+ span : span ,
249
257
+tys : ~[ @ast:: ty ] ) -> ast:: variant {
250
258
let args = tys. map ( |ty| { ty: ty, id: self . next_id ( ) } ) ;
251
259
@@ -255,12 +263,14 @@ impl ext_ctxt: ext_ctxt_ast_builder {
255
263
id : self . next_id ( ) ,
256
264
disr_expr : none,
257
265
vis : ast:: public} ,
258
- span: self . empty_span ( ) }
266
+ span: span }
259
267
}
260
268
261
269
fn item_mod ( name : ident ,
270
+ span : span ,
262
271
+items : ~[ @ast:: item ] ) -> @ast:: item {
263
272
self . item ( name,
273
+ span,
264
274
ast:: item_mod ( {
265
275
view_items: ~[ ] ,
266
276
items: items} ) )
@@ -269,7 +279,7 @@ impl ext_ctxt: ext_ctxt_ast_builder {
269
279
fn ty_path_ast_builder ( path : @ast:: path ) -> @ast:: ty {
270
280
@{ id: self . next_id ( ) ,
271
281
node: ast:: ty_path ( path, self . next_id ( ) ) ,
272
- span: self . empty_span ( ) }
282
+ span: path . span }
273
283
}
274
284
275
285
fn ty_nil_ast_builder ( ) -> @ast:: ty {
@@ -279,13 +289,14 @@ impl ext_ctxt: ext_ctxt_ast_builder {
279
289
}
280
290
281
291
fn item_ty_poly ( name : ident ,
292
+ span : span ,
282
293
ty : @ast:: ty ,
283
294
+params : ~[ ast:: ty_param ] ) -> @ast:: item {
284
- self . item ( name, ast:: item_ty ( ty, params) )
295
+ self . item ( name, span , ast:: item_ty ( ty, params) )
285
296
}
286
297
287
- fn item_ty ( name : ident , ty : @ast:: ty ) -> @ast:: item {
288
- self . item_ty_poly ( name, ty, ~[ ] )
298
+ fn item_ty ( name : ident , span : span , ty : @ast:: ty ) -> @ast:: item {
299
+ self . item_ty_poly ( name, span , ty, ~[ ] )
289
300
}
290
301
291
302
fn ty_vars ( +ty_params : ~[ ast:: ty_param ] ) -> ~[ @ast:: ty ] {
0 commit comments