@@ -22,7 +22,7 @@ use core::option;
22
22
use core:: vec;
23
23
use std:: map:: HashMap ;
24
24
25
- fn expand_expr ( exts : HashMap < ~str , syntax_extension > , cx : ext_ctxt ,
25
+ fn expand_expr ( exts : HashMap < ~str , SyntaxExtension > , cx : ext_ctxt ,
26
26
e : expr_ , s : span , fld : ast_fold ,
27
27
orig : fn @( expr_ , span , ast_fold ) -> ( expr_ , span ) )
28
28
-> ( expr_ , span )
@@ -46,15 +46,13 @@ fn expand_expr(exts: HashMap<~str, syntax_extension>, cx: ext_ctxt,
46
46
cx. span_fatal ( pth. span ,
47
47
fmt ! ( "macro undefined: '%s'" , * extname) )
48
48
}
49
- Some ( normal_tt(
50
- syntax_expander_tt { expander : exp, span : exp_sp }
51
- ) ) => {
49
+ Some ( NormalTT ( SyntaxExpanderTT { expander : exp, span : exp_sp} ) ) => {
52
50
cx. bt_push ( ExpandedFrom ( { call_site: s,
53
51
callie : { name : * extname, span : exp_sp} } ) ) ;
54
52
55
53
let expanded = match exp ( cx, ( * mac) . span , ( * tts) ) {
56
- mr_expr ( e) => e,
57
- mr_any ( expr_maker, _, _) => expr_maker ( ) ,
54
+ MRExpr ( e) => e,
55
+ MRAny ( expr_maker, _, _) => expr_maker ( ) ,
58
56
_ => cx. span_fatal (
59
57
pth. span , fmt ! ( "non-expr macro in expr pos: %s" ,
60
58
* extname) )
@@ -85,11 +83,11 @@ fn expand_expr(exts: HashMap<~str, syntax_extension>, cx: ext_ctxt,
85
83
// attribute prefixing an item, and are interpreted by feeding the item
86
84
// through the named attribute _as a syntax extension_ and splicing in the
87
85
// resulting item vec into place in favour of the decorator. Note that
88
- // these do _not_ work for macro extensions, just item_decorator ones.
86
+ // these do _not_ work for macro extensions, just ItemDecorator ones.
89
87
//
90
88
// NB: there is some redundancy between this and expand_item, below, and
91
89
// they might benefit from some amount of semantic and language-UI merger.
92
- fn expand_mod_items ( exts : HashMap < ~str , syntax_extension > , cx : ext_ctxt ,
90
+ fn expand_mod_items ( exts : HashMap < ~str , SyntaxExtension > , cx : ext_ctxt ,
93
91
module_ : ast:: _mod , fld : ast_fold ,
94
92
orig : fn @( ast:: _mod , ast_fold ) -> ast:: _mod )
95
93
-> ast:: _mod
@@ -108,8 +106,8 @@ fn expand_mod_items(exts: HashMap<~str, syntax_extension>, cx: ext_ctxt,
108
106
ast:: meta_list( ref n, _) => ( * n)
109
107
} ;
110
108
match exts. find ( mname) {
111
- None | Some ( normal_tt ( _) ) | Some ( item_tt ( * ) ) => items,
112
- Some ( item_decorator ( dec_fn) ) => {
109
+ None | Some ( NormalTT ( _) ) | Some ( ItemTT ( * ) ) => items,
110
+ Some ( ItemDecorator ( dec_fn) ) => {
113
111
cx. bt_push ( ExpandedFrom ( { call_site: attr. span ,
114
112
callie : { name : copy mname,
115
113
span : None } } ) ) ;
@@ -126,7 +124,7 @@ fn expand_mod_items(exts: HashMap<~str, syntax_extension>, cx: ext_ctxt,
126
124
127
125
128
126
// When we enter a module, record it, for the sake of `module!`
129
- fn expand_item ( exts : HashMap < ~str , syntax_extension > ,
127
+ fn expand_item ( exts : HashMap < ~str , SyntaxExtension > ,
130
128
cx : ext_ctxt , & & it: @ast:: item , fld : ast_fold ,
131
129
orig : fn @( & & v: @ast:: item , ast_fold ) -> Option < @ast:: item > )
132
130
-> Option < @ast:: item >
@@ -153,7 +151,7 @@ fn expand_item(exts: HashMap<~str, syntax_extension>,
153
151
154
152
// Support for item-position macro invocations, exactly the same
155
153
// logic as for expression-position macro invocations.
156
- fn expand_item_mac ( exts : HashMap < ~str , syntax_extension > ,
154
+ fn expand_item_mac ( exts : HashMap < ~str , SyntaxExtension > ,
157
155
cx : ext_ctxt , & & it: @ast:: item ,
158
156
fld : ast_fold ) -> Option < @ast:: item > {
159
157
@@ -169,7 +167,7 @@ fn expand_item_mac(exts: HashMap<~str, syntax_extension>,
169
167
None => cx. span_fatal ( pth. span ,
170
168
fmt ! ( "macro undefined: '%s!'" , * extname) ) ,
171
169
172
- Some ( normal_tt ( ref expand) ) => {
170
+ Some ( NormalTT ( ref expand) ) => {
173
171
if it. ident != parse:: token:: special_idents:: invalid {
174
172
cx. span_fatal ( pth. span ,
175
173
fmt ! ( "macro %s! expects no ident argument, \
@@ -181,7 +179,7 @@ fn expand_item_mac(exts: HashMap<~str, syntax_extension>,
181
179
span : ( * expand) . span } } ) ) ;
182
180
( ( * expand) . expander ) ( cx, it. span , tts)
183
181
}
184
- Some ( item_tt ( ref expand) ) => {
182
+ Some ( ItemTT ( ref expand) ) => {
185
183
if it. ident == parse:: token:: special_idents:: invalid {
186
184
cx. span_fatal ( pth. span ,
187
185
fmt ! ( "macro %s! expects an ident argument" ,
@@ -197,13 +195,13 @@ fn expand_item_mac(exts: HashMap<~str, syntax_extension>,
197
195
} ;
198
196
199
197
let maybe_it = match expanded {
200
- mr_item ( it) => fld. fold_item ( it) ,
201
- mr_expr ( _) => cx. span_fatal ( pth. span ,
198
+ MRItem ( it) => fld. fold_item ( it) ,
199
+ MRExpr ( _) => cx. span_fatal ( pth. span ,
202
200
~"expr macro in item position: "
203
201
+ *extname),
204
- mr_any (_, item_maker, _) =>
202
+ MRAny (_, item_maker, _) =>
205
203
option::chain(item_maker(), |i| {fld.fold_item(i)}),
206
- mr_def (ref mdef) => {
204
+ MRDef (ref mdef) => {
207
205
exts.insert((*mdef).name, (*mdef).ext);
208
206
None
209
207
}
@@ -212,7 +210,7 @@ fn expand_item_mac(exts: HashMap<~str, syntax_extension>,
212
210
return maybe_it;
213
211
}
214
212
215
- fn expand_stmt(exts: HashMap<~str, syntax_extension >, cx: ext_ctxt,
213
+ fn expand_stmt(exts: HashMap<~str, SyntaxExtension >, cx: ext_ctxt,
216
214
&& s: stmt_, sp: span, fld: ast_fold,
217
215
orig: fn@(&&s: stmt_, span, ast_fold) -> (stmt_, span))
218
216
-> (stmt_, span)
@@ -233,16 +231,15 @@ fn expand_stmt(exts: HashMap<~str, syntax_extension>, cx: ext_ctxt,
233
231
None =>
234
232
cx.span_fatal(pth.span, fmt!(" macro undefined: ' %s' ", * extname) ) ,
235
233
236
- Some ( normal_tt(
237
- syntax_expander_tt { expander : exp, span : exp_sp }
238
- ) ) => {
234
+ Some ( NormalTT (
235
+ SyntaxExpanderTT { expander : exp, span : exp_sp} ) ) => {
239
236
cx. bt_push ( ExpandedFrom (
240
237
{ call_site : sp, callie: { name : * extname, span : exp_sp} } ) ) ;
241
238
let expanded = match exp ( cx, mac. span , tts) {
242
- mr_expr ( e) =>
239
+ MRExpr ( e) =>
243
240
@ast:: spanned { node : stmt_expr ( e, cx. next_id ( ) ) ,
244
241
span : e. span } ,
245
- mr_any ( _, _, stmt_mkr) => stmt_mkr ( ) ,
242
+ MRAny ( _, _, stmt_mkr) => stmt_mkr ( ) ,
246
243
_ => cx. span_fatal (
247
244
pth. span ,
248
245
fmt ! ( "non-stmt macro in stmt pos: %s" , * extname) )
0 commit comments