@@ -15,7 +15,7 @@ use crate::ast::{Lit, LitKind, Expr, Item, Local, Stmt, StmtKind, GenericParam};
15
15
use crate :: mut_visit:: visit_clobber;
16
16
use crate :: source_map:: { BytePos , Spanned } ;
17
17
use crate :: parse:: lexer:: comments:: doc_comment_style;
18
- use crate :: parse:: parser :: Parser ;
18
+ use crate :: parse;
19
19
use crate :: parse:: PResult ;
20
20
use crate :: parse:: token:: { self , Token } ;
21
21
use crate :: ptr:: P ;
@@ -280,35 +280,10 @@ impl Attribute {
280
280
self . item . meta ( self . span )
281
281
}
282
282
283
- crate fn parse < ' a , T , F > ( & self , sess : & ' a ParseSess , mut f : F ) -> PResult < ' a , T >
284
- where F : FnMut ( & mut Parser < ' a > ) -> PResult < ' a , T > ,
285
- {
286
- let mut parser = Parser :: new (
287
- sess,
288
- self . tokens . clone ( ) ,
289
- None ,
290
- false ,
291
- false ,
292
- Some ( "attribute" ) ,
293
- ) ;
294
- let result = f ( & mut parser) ?;
295
- if parser. token != token:: Eof {
296
- parser. unexpected ( ) ?;
297
- }
298
- Ok ( result)
299
- }
300
-
301
- pub fn parse_derive_paths < ' a > ( & self , sess : & ' a ParseSess ) -> PResult < ' a , Vec < Path > > {
302
- if self . tokens . is_empty ( ) {
303
- return Ok ( Vec :: new ( ) ) ;
304
- }
305
- self . parse ( sess, |p| p. parse_derive_paths ( ) )
306
- }
307
-
308
283
pub fn parse_meta < ' a > ( & self , sess : & ' a ParseSess ) -> PResult < ' a , MetaItem > {
309
284
Ok ( MetaItem {
310
285
path : self . path . clone ( ) ,
311
- kind : self . parse ( sess, |parser| parser . parse_meta_item_kind ( ) ) ?,
286
+ kind : parse:: parse_in_attr ( sess, self , |p| p . parse_meta_item_kind ( ) ) ?,
312
287
span : self . span ,
313
288
} )
314
289
}
0 commit comments