1
1
use rustc_ast:: token:: { self , Delimiter , IdentIsRaw , Lit , Token , TokenKind } ;
2
- use rustc_ast:: tokenstream:: { RefTokenTreeCursor , TokenStream , TokenTree } ;
2
+ use rustc_ast:: tokenstream:: { TokenStream , TokenStreamIter , TokenTree } ;
3
3
use rustc_ast:: { LitIntType , LitKind } ;
4
4
use rustc_ast_pretty:: pprust;
5
5
use rustc_errors:: { Applicability , PResult } ;
@@ -39,14 +39,14 @@ impl MetaVarExpr {
39
39
outer_span : Span ,
40
40
psess : & ' psess ParseSess ,
41
41
) -> PResult < ' psess , MetaVarExpr > {
42
- let mut tts = input. trees ( ) ;
43
- let ident = parse_ident ( & mut tts , psess, outer_span) ?;
44
- let Some ( TokenTree :: Delimited ( .., Delimiter :: Parenthesis , args) ) = tts . next ( ) else {
42
+ let mut iter = input. iter ( ) ;
43
+ let ident = parse_ident ( & mut iter , psess, outer_span) ?;
44
+ let Some ( TokenTree :: Delimited ( .., Delimiter :: Parenthesis , args) ) = iter . next ( ) else {
45
45
let msg = "meta-variable expression parameter must be wrapped in parentheses" ;
46
46
return Err ( psess. dcx ( ) . struct_span_err ( ident. span , msg) ) ;
47
47
} ;
48
- check_trailing_token ( & mut tts , psess) ?;
49
- let mut iter = args. trees ( ) ;
48
+ check_trailing_token ( & mut iter , psess) ?;
49
+ let mut iter = args. iter ( ) ;
50
50
let rslt = match ident. as_str ( ) {
51
51
"concat" => {
52
52
let mut result = Vec :: new ( ) ;
@@ -143,7 +143,7 @@ pub(crate) enum MetaVarExprConcatElem {
143
143
144
144
// Checks if there are any remaining tokens. For example, `${ignore(ident ... a b c ...)}`
145
145
fn check_trailing_token < ' psess > (
146
- iter : & mut RefTokenTreeCursor < ' _ > ,
146
+ iter : & mut TokenStreamIter < ' _ > ,
147
147
psess : & ' psess ParseSess ,
148
148
) -> PResult < ' psess , ( ) > {
149
149
if let Some ( tt) = iter. next ( ) {
@@ -159,7 +159,7 @@ fn check_trailing_token<'psess>(
159
159
160
160
/// Parse a meta-variable `count` expression: `count(ident[, depth])`
161
161
fn parse_count < ' psess > (
162
- iter : & mut RefTokenTreeCursor < ' _ > ,
162
+ iter : & mut TokenStreamIter < ' _ > ,
163
163
psess : & ' psess ParseSess ,
164
164
span : Span ,
165
165
) -> PResult < ' psess , MetaVarExpr > {
@@ -181,7 +181,7 @@ fn parse_count<'psess>(
181
181
182
182
/// Parses the depth used by index(depth) and len(depth).
183
183
fn parse_depth < ' psess > (
184
- iter : & mut RefTokenTreeCursor < ' _ > ,
184
+ iter : & mut TokenStreamIter < ' _ > ,
185
185
psess : & ' psess ParseSess ,
186
186
span : Span ,
187
187
) -> PResult < ' psess , usize > {
@@ -204,7 +204,7 @@ fn parse_depth<'psess>(
204
204
205
205
/// Parses an generic ident
206
206
fn parse_ident < ' psess > (
207
- iter : & mut RefTokenTreeCursor < ' _ > ,
207
+ iter : & mut TokenStreamIter < ' _ > ,
208
208
psess : & ' psess ParseSess ,
209
209
fallback_span : Span ,
210
210
) -> PResult < ' psess , Ident > {
@@ -236,7 +236,7 @@ fn parse_ident_from_token<'psess>(
236
236
}
237
237
238
238
fn parse_token < ' psess , ' t > (
239
- iter : & mut RefTokenTreeCursor < ' t > ,
239
+ iter : & mut TokenStreamIter < ' t > ,
240
240
psess : & ' psess ParseSess ,
241
241
fallback_span : Span ,
242
242
) -> PResult < ' psess , & ' t Token > {
@@ -251,7 +251,7 @@ fn parse_token<'psess, 't>(
251
251
252
252
/// Tries to move the iterator forward returning `true` if there is a comma. If not, then the
253
253
/// iterator is not modified and the result is `false`.
254
- fn try_eat_comma ( iter : & mut RefTokenTreeCursor < ' _ > ) -> bool {
254
+ fn try_eat_comma ( iter : & mut TokenStreamIter < ' _ > ) -> bool {
255
255
if let Some ( TokenTree :: Token ( Token { kind : token:: Comma , .. } , _) ) = iter. peek ( ) {
256
256
let _ = iter. next ( ) ;
257
257
return true ;
@@ -261,7 +261,7 @@ fn try_eat_comma(iter: &mut RefTokenTreeCursor<'_>) -> bool {
261
261
262
262
/// Tries to move the iterator forward returning `true` if there is a dollar sign. If not, then the
263
263
/// iterator is not modified and the result is `false`.
264
- fn try_eat_dollar ( iter : & mut RefTokenTreeCursor < ' _ > ) -> bool {
264
+ fn try_eat_dollar ( iter : & mut TokenStreamIter < ' _ > ) -> bool {
265
265
if let Some ( TokenTree :: Token ( Token { kind : token:: Dollar , .. } , _) ) = iter. peek ( ) {
266
266
let _ = iter. next ( ) ;
267
267
return true ;
@@ -271,7 +271,7 @@ fn try_eat_dollar(iter: &mut RefTokenTreeCursor<'_>) -> bool {
271
271
272
272
/// Expects that the next item is a dollar sign.
273
273
fn eat_dollar < ' psess > (
274
- iter : & mut RefTokenTreeCursor < ' _ > ,
274
+ iter : & mut TokenStreamIter < ' _ > ,
275
275
psess : & ' psess ParseSess ,
276
276
span : Span ,
277
277
) -> PResult < ' psess , ( ) > {
0 commit comments