@@ -48,7 +48,7 @@ use std::str::FromStr;
48
48
49
49
use syntax:: errors:: DiagnosticBuilder ;
50
50
use syntax:: parse;
51
- use syntax:: tokenstream:: TokenStream as TokenStream_ ;
51
+ use syntax:: tokenstream;
52
52
53
53
/// The main type provided by this crate, representing an abstract stream of
54
54
/// tokens.
@@ -60,9 +60,7 @@ use syntax::tokenstream::TokenStream as TokenStream_;
60
60
/// The API of this type is intentionally bare-bones, but it'll be expanded over
61
61
/// time!
62
62
#[ stable( feature = "proc_macro_lib" , since = "1.15.0" ) ]
63
- pub struct TokenStream {
64
- inner : TokenStream_ ,
65
- }
63
+ pub struct TokenStream ( tokenstream:: TokenStream ) ;
66
64
67
65
/// Error returned from `TokenStream::from_str`.
68
66
#[ derive( Debug ) ]
@@ -91,26 +89,22 @@ pub mod __internal {
91
89
use syntax:: ext:: hygiene:: Mark ;
92
90
use syntax:: ptr:: P ;
93
91
use syntax:: parse:: { self , token, ParseSess } ;
94
- use syntax:: tokenstream:: { TokenTree , TokenStream as TokenStream_ } ;
92
+ use syntax:: tokenstream;
95
93
96
94
use super :: { TokenStream , LexError } ;
97
95
98
96
pub fn new_token_stream ( item : P < ast:: Item > ) -> TokenStream {
99
- TokenStream {
100
- inner : TokenTree :: Token ( item. span , token:: Interpolated ( Rc :: new ( token:: NtItem ( item) ) ) )
101
- . into ( )
102
- }
97
+ let ( span, token) = ( item. span , token:: Interpolated ( Rc :: new ( token:: NtItem ( item) ) ) ) ;
98
+ TokenStream ( tokenstream:: TokenTree :: Token ( span, token) . into ( ) )
103
99
}
104
100
105
- pub fn token_stream_wrap ( inner : TokenStream_ ) -> TokenStream {
106
- TokenStream {
107
- inner : inner
108
- }
101
+ pub fn token_stream_wrap ( inner : tokenstream:: TokenStream ) -> TokenStream {
102
+ TokenStream ( inner)
109
103
}
110
104
111
105
pub fn token_stream_parse_items ( stream : TokenStream ) -> Result < Vec < P < ast:: Item > > , LexError > {
112
106
with_sess ( move |( sess, _) | {
113
- let mut parser = parse:: stream_to_parser ( sess, stream. inner ) ;
107
+ let mut parser = parse:: stream_to_parser ( sess, stream. 0 ) ;
114
108
let mut items = Vec :: new ( ) ;
115
109
116
110
while let Some ( item) = try!( parser. parse_item ( ) . map_err ( super :: parse_to_lex_err) ) {
@@ -121,8 +115,8 @@ pub mod __internal {
121
115
} )
122
116
}
123
117
124
- pub fn token_stream_inner ( stream : TokenStream ) -> TokenStream_ {
125
- stream. inner
118
+ pub fn token_stream_inner ( stream : TokenStream ) -> tokenstream :: TokenStream {
119
+ stream. 0
126
120
}
127
121
128
122
pub trait Registry {
@@ -197,6 +191,6 @@ impl FromStr for TokenStream {
197
191
#[ stable( feature = "proc_macro_lib" , since = "1.15.0" ) ]
198
192
impl fmt:: Display for TokenStream {
199
193
fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
200
- self . inner . fmt ( f)
194
+ self . 0 . fmt ( f)
201
195
}
202
196
}
0 commit comments