2
2
3
3
use rustc_ast:: ptr:: P ;
4
4
use rustc_ast:: token:: { Delimiter , Token , TokenKind } ;
5
- use rustc_ast:: tokenstream:: { AttrAnnotatedTokenStream , AttrAnnotatedTokenTree } ;
5
+ use rustc_ast:: tokenstream:: { AttrTokenStream , AttrTokenTree } ;
6
6
use rustc_ast:: tokenstream:: { DelimSpan , Spacing } ;
7
7
use rustc_ast:: tokenstream:: { LazyTokenStream , TokenTree } ;
8
8
use rustc_ast:: NodeId ;
@@ -259,8 +259,8 @@ impl<'a> StripUnconfigured<'a> {
259
259
fn try_configure_tokens < T : HasTokens > ( & self , node : & mut T ) {
260
260
if self . config_tokens {
261
261
if let Some ( Some ( tokens) ) = node. tokens_mut ( ) {
262
- let attr_annotated_tokens = tokens. create_token_stream ( ) ;
263
- * tokens = LazyTokenStream :: new ( self . configure_tokens ( & attr_annotated_tokens ) ) ;
262
+ let attr_stream = tokens. create_token_stream ( ) ;
263
+ * tokens = LazyTokenStream :: new ( self . configure_tokens ( & attr_stream ) ) ;
264
264
}
265
265
}
266
266
}
@@ -270,16 +270,16 @@ impl<'a> StripUnconfigured<'a> {
270
270
if self . in_cfg ( & attrs) { Some ( attrs) } else { None }
271
271
}
272
272
273
- /// Performs cfg-expansion on `stream`, producing a new `AttrAnnotatedTokenStream `.
273
+ /// Performs cfg-expansion on `stream`, producing a new `AttrTokenStream `.
274
274
/// This is only used during the invocation of `derive` proc-macros,
275
275
/// which require that we cfg-expand their entire input.
276
276
/// Normal cfg-expansion operates on parsed AST nodes via the `configure` method
277
- fn configure_tokens ( & self , stream : & AttrAnnotatedTokenStream ) -> AttrAnnotatedTokenStream {
278
- fn can_skip ( stream : & AttrAnnotatedTokenStream ) -> bool {
277
+ fn configure_tokens ( & self , stream : & AttrTokenStream ) -> AttrTokenStream {
278
+ fn can_skip ( stream : & AttrTokenStream ) -> bool {
279
279
stream. 0 . iter ( ) . all ( |tree| match tree {
280
- AttrAnnotatedTokenTree :: Attributes ( _) => false ,
281
- AttrAnnotatedTokenTree :: Token ( ..) => true ,
282
- AttrAnnotatedTokenTree :: Delimited ( _, _, inner) => can_skip ( inner) ,
280
+ AttrTokenTree :: Attributes ( _) => false ,
281
+ AttrTokenTree :: Token ( ..) => true ,
282
+ AttrTokenTree :: Delimited ( _, _, inner) => can_skip ( inner) ,
283
283
} )
284
284
}
285
285
@@ -291,35 +291,35 @@ impl<'a> StripUnconfigured<'a> {
291
291
. 0
292
292
. iter ( )
293
293
. flat_map ( |tree| match tree. clone ( ) {
294
- AttrAnnotatedTokenTree :: Attributes ( mut data) => {
294
+ AttrTokenTree :: Attributes ( mut data) => {
295
295
data. attrs . flat_map_in_place ( |attr| self . process_cfg_attr ( attr) ) ;
296
296
297
297
if self . in_cfg ( & data. attrs ) {
298
298
data. tokens = LazyTokenStream :: new (
299
299
self . configure_tokens ( & data. tokens . create_token_stream ( ) ) ,
300
300
) ;
301
- Some ( AttrAnnotatedTokenTree :: Attributes ( data) ) . into_iter ( )
301
+ Some ( AttrTokenTree :: Attributes ( data) ) . into_iter ( )
302
302
} else {
303
303
None . into_iter ( )
304
304
}
305
305
}
306
- AttrAnnotatedTokenTree :: Delimited ( sp, delim, mut inner) => {
306
+ AttrTokenTree :: Delimited ( sp, delim, mut inner) => {
307
307
inner = self . configure_tokens ( & inner) ;
308
- Some ( AttrAnnotatedTokenTree :: Delimited ( sp, delim, inner) )
308
+ Some ( AttrTokenTree :: Delimited ( sp, delim, inner) )
309
309
. into_iter ( )
310
310
}
311
- AttrAnnotatedTokenTree :: Token ( ref token, _) if let TokenKind :: Interpolated ( ref nt) = token. kind => {
311
+ AttrTokenTree :: Token ( ref token, _) if let TokenKind :: Interpolated ( ref nt) = token. kind => {
312
312
panic ! (
313
313
"Nonterminal should have been flattened at {:?}: {:?}" ,
314
314
token. span, nt
315
315
) ;
316
316
}
317
- AttrAnnotatedTokenTree :: Token ( token, spacing) => {
318
- Some ( AttrAnnotatedTokenTree :: Token ( token, spacing) ) . into_iter ( )
317
+ AttrTokenTree :: Token ( token, spacing) => {
318
+ Some ( AttrTokenTree :: Token ( token, spacing) ) . into_iter ( )
319
319
}
320
320
} )
321
321
. collect ( ) ;
322
- AttrAnnotatedTokenStream :: new ( trees)
322
+ AttrTokenStream :: new ( trees)
323
323
}
324
324
325
325
/// Parse and expand all `cfg_attr` attributes into a list of attributes
@@ -404,17 +404,17 @@ impl<'a> StripUnconfigured<'a> {
404
404
} ;
405
405
let pound_span = pound_token. span ;
406
406
407
- let mut trees = vec ! [ AttrAnnotatedTokenTree :: Token ( pound_token, Spacing :: Alone ) ] ;
407
+ let mut trees = vec ! [ AttrTokenTree :: Token ( pound_token, Spacing :: Alone ) ] ;
408
408
if attr. style == AttrStyle :: Inner {
409
409
// For inner attributes, we do the same thing for the `!` in `#![some_attr]`
410
410
let TokenTree :: Token ( bang_token @ Token { kind : TokenKind :: Not , .. } , _) = orig_trees. next ( ) . unwrap ( ) else {
411
411
panic ! ( "Bad tokens for attribute {:?}" , attr) ;
412
412
} ;
413
- trees. push ( AttrAnnotatedTokenTree :: Token ( bang_token, Spacing :: Alone ) ) ;
413
+ trees. push ( AttrTokenTree :: Token ( bang_token, Spacing :: Alone ) ) ;
414
414
}
415
415
// We don't really have a good span to use for the synthesized `[]`
416
416
// in `#[attr]`, so just use the span of the `#` token.
417
- let bracket_group = AttrAnnotatedTokenTree :: Delimited (
417
+ let bracket_group = AttrTokenTree :: Delimited (
418
418
DelimSpan :: from_single ( pound_span) ,
419
419
Delimiter :: Bracket ,
420
420
item. tokens
@@ -423,7 +423,7 @@ impl<'a> StripUnconfigured<'a> {
423
423
. create_token_stream ( ) ,
424
424
) ;
425
425
trees. push ( bracket_group) ;
426
- let tokens = Some ( LazyTokenStream :: new ( AttrAnnotatedTokenStream :: new ( trees) ) ) ;
426
+ let tokens = Some ( LazyTokenStream :: new ( AttrTokenStream :: new ( trees) ) ) ;
427
427
let attr = attr:: mk_attr_from_item ( item, tokens, attr. style , item_span) ;
428
428
if attr. has_name ( sym:: crate_type) {
429
429
self . sess . parse_sess . buffer_lint (
0 commit comments