@@ -16,7 +16,7 @@ use crate::mut_visit::visit_clobber;
16
16
use crate :: source_map:: { BytePos , Spanned , DUMMY_SP } ;
17
17
use crate :: parse:: lexer:: comments:: { doc_comment_style, strip_doc_comment_decoration} ;
18
18
use crate :: parse:: parser:: Parser ;
19
- use crate :: parse:: { self , ParseSess , PResult } ;
19
+ use crate :: parse:: { ParseSess , PResult } ;
20
20
use crate :: parse:: token:: { self , Token } ;
21
21
use crate :: ptr:: P ;
22
22
use crate :: symbol:: { sym, Symbol } ;
@@ -25,7 +25,7 @@ use crate::tokenstream::{TokenStream, TokenTree, DelimSpan};
25
25
use crate :: GLOBALS ;
26
26
27
27
use log:: debug;
28
- use syntax_pos:: { FileName , Span } ;
28
+ use syntax_pos:: Span ;
29
29
30
30
use std:: iter;
31
31
use std:: ops:: DerefMut ;
@@ -381,28 +381,25 @@ crate fn mk_attr_id() -> AttrId {
381
381
AttrId ( id)
382
382
}
383
383
384
- /// Returns an inner attribute with the given value and span.
385
- pub fn mk_attr_inner ( item : MetaItem ) -> Attribute {
384
+ pub fn mk_attr ( style : AttrStyle , path : Path , tokens : TokenStream , span : Span ) -> Attribute {
386
385
Attribute {
387
386
id : mk_attr_id ( ) ,
388
- style : ast :: AttrStyle :: Inner ,
389
- path : item . path ,
390
- tokens : item . node . tokens ( item . span ) ,
387
+ style,
388
+ path,
389
+ tokens,
391
390
is_sugared_doc : false ,
392
- span : item . span ,
391
+ span,
393
392
}
394
393
}
395
394
395
+ /// Returns an inner attribute with the given value and span.
396
+ pub fn mk_attr_inner ( item : MetaItem ) -> Attribute {
397
+ mk_attr ( AttrStyle :: Inner , item. path , item. node . tokens ( item. span ) , item. span )
398
+ }
399
+
396
400
/// Returns an outer attribute with the given value and span.
397
401
pub fn mk_attr_outer ( item : MetaItem ) -> Attribute {
398
- Attribute {
399
- id : mk_attr_id ( ) ,
400
- style : ast:: AttrStyle :: Outer ,
401
- path : item. path ,
402
- tokens : item. node . tokens ( item. span ) ,
403
- is_sugared_doc : false ,
404
- span : item. span ,
405
- }
402
+ mk_attr ( AttrStyle :: Outer , item. path , item. node . tokens ( item. span ) , item. span )
406
403
}
407
404
408
405
pub fn mk_sugared_doc_attr ( text : Symbol , span : Span ) -> Attribute {
@@ -716,33 +713,3 @@ derive_has_attrs! {
716
713
Item , Expr , Local , ast:: ForeignItem , ast:: StructField , ast:: ImplItem , ast:: TraitItem , ast:: Arm ,
717
714
ast:: Field , ast:: FieldPat , ast:: Variant , ast:: Param
718
715
}
719
-
720
- pub fn inject ( mut krate : ast:: Crate , parse_sess : & ParseSess , attrs : & [ String ] ) -> ast:: Crate {
721
- for raw_attr in attrs {
722
- let mut parser = parse:: new_parser_from_source_str (
723
- parse_sess,
724
- FileName :: cli_crate_attr_source_code ( & raw_attr) ,
725
- raw_attr. clone ( ) ,
726
- ) ;
727
-
728
- let start_span = parser. token . span ;
729
- let ( path, tokens) = panictry ! ( parser. parse_meta_item_unrestricted( ) ) ;
730
- let end_span = parser. token . span ;
731
- if parser. token != token:: Eof {
732
- parse_sess. span_diagnostic
733
- . span_err ( start_span. to ( end_span) , "invalid crate attribute" ) ;
734
- continue ;
735
- }
736
-
737
- krate. attrs . push ( Attribute {
738
- id : mk_attr_id ( ) ,
739
- style : AttrStyle :: Inner ,
740
- path,
741
- tokens,
742
- is_sugared_doc : false ,
743
- span : start_span. to ( end_span) ,
744
- } ) ;
745
- }
746
-
747
- krate
748
- }
0 commit comments