@@ -4,14 +4,14 @@ use crate::module::DirectoryOwnership;
4
4
use rustc_ast:: ast:: { self , Attribute , NodeId , PatKind } ;
5
5
use rustc_ast:: mut_visit:: { self , MutVisitor } ;
6
6
use rustc_ast:: ptr:: P ;
7
- use rustc_ast:: token:: { self , FlattenGroup } ;
8
- use rustc_ast:: tokenstream:: { self , TokenStream , TokenTree } ;
7
+ use rustc_ast:: token;
8
+ use rustc_ast:: tokenstream:: { self , TokenStream } ;
9
9
use rustc_ast:: visit:: { AssocCtxt , Visitor } ;
10
10
use rustc_attr:: { self as attr, Deprecation , HasAttrs , Stability } ;
11
11
use rustc_data_structures:: fx:: FxHashMap ;
12
12
use rustc_data_structures:: sync:: { self , Lrc } ;
13
13
use rustc_errors:: { DiagnosticBuilder , ErrorReported } ;
14
- use rustc_parse:: { self , parser, MACRO_ARGUMENTS } ;
14
+ use rustc_parse:: { self , nt_to_tokenstream , parser, MACRO_ARGUMENTS } ;
15
15
use rustc_session:: { parse:: ParseSess , Limit } ;
16
16
use rustc_span:: def_id:: DefId ;
17
17
use rustc_span:: edition:: Edition ;
@@ -120,10 +120,7 @@ impl Annotatable {
120
120
}
121
121
}
122
122
123
- crate fn into_tokens ( self ) -> TokenStream {
124
- // `Annotatable` can be converted into tokens directly, but we
125
- // are packing it into a nonterminal as a piece of AST to make
126
- // the produced token stream look nicer in pretty-printed form.
123
+ crate fn into_tokens ( self , sess : & ParseSess ) -> TokenStream {
127
124
let nt = match self {
128
125
Annotatable :: Item ( item) => token:: NtItem ( item) ,
129
126
Annotatable :: TraitItem ( item) | Annotatable :: ImplItem ( item) => {
@@ -142,7 +139,7 @@ impl Annotatable {
142
139
| Annotatable :: StructField ( ..)
143
140
| Annotatable :: Variant ( ..) => panic ! ( "unexpected annotatable" ) ,
144
141
} ;
145
- TokenTree :: token ( token :: Interpolated ( Lrc :: new ( nt ) , FlattenGroup :: Yes ) , DUMMY_SP ) . into ( )
142
+ nt_to_tokenstream ( & nt , sess , DUMMY_SP )
146
143
}
147
144
148
145
pub fn expect_item ( self ) -> P < ast:: Item > {
0 commit comments