@@ -14,7 +14,7 @@ use ast::{crate, expr_, expr_mac, mac_invoc_tt};
14
14
use ast:: { tt_delim, tt_tok, item_mac, stmt_, stmt_mac, stmt_expr, stmt_semi} ;
15
15
use ast;
16
16
use attr;
17
- use codemap:: { span, ExpandedFrom } ;
17
+ use codemap:: { span, CallInfo , ExpandedFrom , NameAndSpan } ;
18
18
use ext:: base:: * ;
19
19
use fold:: * ;
20
20
use parse:: { parser, parse_expr_from_source_str, new_parser_from_tts} ;
@@ -48,8 +48,12 @@ pub fn expand_expr(exts: SyntaxExtensions, cx: ext_ctxt,
48
48
}
49
49
Some ( NormalTT ( SyntaxExpanderTT { expander : exp,
50
50
span : exp_sp} ) ) => {
51
- cx. bt_push ( ExpandedFrom ( { call_site: s,
52
- callie : { name : * extname, span : exp_sp} } ) ) ;
51
+ cx. bt_push ( ExpandedFrom ( CallInfo {
52
+ call_site : s,
53
+ callee : NameAndSpan {
54
+ name : * extname, span : exp_sp
55
+ }
56
+ } ) ) ;
53
57
54
58
let expanded = match exp ( cx, ( * mac) . span , ( * tts) ) {
55
59
MRExpr ( e) => e,
@@ -105,9 +109,13 @@ pub fn expand_mod_items(exts: SyntaxExtensions, cx: ext_ctxt,
105
109
match exts. find ( & mname) {
106
110
None | Some ( NormalTT ( _) ) | Some ( ItemTT ( * ) ) => items,
107
111
Some ( ItemDecorator ( dec_fn) ) => {
108
- cx. bt_push ( ExpandedFrom ( { call_site: attr. span ,
109
- callie : { name : /*bad*/ copy * mname,
110
- span : None } } ) ) ;
112
+ cx. bt_push ( ExpandedFrom ( CallInfo {
113
+ call_site : attr. span ,
114
+ callee : NameAndSpan {
115
+ name : /*bad*/ copy * mname,
116
+ span : None
117
+ }
118
+ } ) ) ;
111
119
let r = dec_fn ( cx, attr. span , attr. node . value , items) ;
112
120
cx. bt_pop ( ) ;
113
121
r
@@ -170,9 +178,13 @@ pub fn expand_item_mac(exts: SyntaxExtensions,
170
178
given '%s'", * extname,
171
179
* cx. parse_sess( ) . interner. get( it. ident) ) ) ;
172
180
}
173
- cx. bt_push ( ExpandedFrom ( { call_site: it. span ,
174
- callie : { name : * extname,
175
- span : ( * expand) . span } } ) ) ;
181
+ cx. bt_push ( ExpandedFrom ( CallInfo {
182
+ call_site : it. span ,
183
+ callee : NameAndSpan {
184
+ name : * extname,
185
+ span : ( * expand) . span
186
+ }
187
+ } ) ) ;
176
188
( ( * expand) . expander ) ( cx, it. span , tts)
177
189
}
178
190
Some ( ItemTT ( ref expand) ) => {
@@ -181,9 +193,13 @@ pub fn expand_item_mac(exts: SyntaxExtensions,
181
193
fmt ! ( "macro %s! expects an ident argument" ,
182
194
* extname) ) ;
183
195
}
184
- cx. bt_push ( ExpandedFrom ( { call_site: it. span ,
185
- callie : { name : * extname,
186
- span : ( * expand) . span } } ) ) ;
196
+ cx. bt_push ( ExpandedFrom ( CallInfo {
197
+ call_site : it. span ,
198
+ callee : NameAndSpan {
199
+ name : * extname,
200
+ span : ( * expand) . span
201
+ }
202
+ } ) ) ;
187
203
( ( * expand) . expander ) ( cx, it. span , it. ident , tts)
188
204
}
189
205
_ => cx. span_fatal (
@@ -228,8 +244,10 @@ pub fn expand_stmt(exts: SyntaxExtensions, cx: ext_ctxt,
228
244
229
245
Some ( NormalTT (
230
246
SyntaxExpanderTT { expander : exp, span : exp_sp} ) ) => {
231
- cx. bt_push ( ExpandedFrom (
232
- { call_site : sp, callie: { name : * extname, span : exp_sp} } ) ) ;
247
+ cx. bt_push ( ExpandedFrom ( CallInfo {
248
+ call_site : sp,
249
+ callee : NameAndSpan { name : * extname, span : exp_sp }
250
+ } ) ) ;
233
251
let expanded = match exp ( cx, mac. span , tts) {
234
252
MRExpr ( e) =>
235
253
@codemap:: spanned { node : stmt_expr ( e, cx. next_id ( ) ) ,
@@ -321,7 +339,7 @@ pub fn core_macros() -> ~str {
321
339
} ";
322
340
}
323
341
324
- pub fn expand_crate ( parse_sess : parse:: parse_sess ,
342
+ pub fn expand_crate ( parse_sess : @ mut parse:: ParseSess ,
325
343
cfg : ast:: crate_cfg , c : @crate ) -> @crate {
326
344
let exts = syntax_expander_table ( ) ;
327
345
let afp = default_ast_fold ( ) ;
0 commit comments