@@ -16,7 +16,7 @@ use crate::mut_visit::visit_clobber;
1616use crate :: source_map:: { BytePos , Spanned , DUMMY_SP } ;
1717use crate :: parse:: lexer:: comments:: { doc_comment_style, strip_doc_comment_decoration} ;
1818use crate :: parse:: parser:: Parser ;
19- use crate :: parse:: { self , ParseSess , PResult } ;
19+ use crate :: parse:: { ParseSess , PResult } ;
2020use crate :: parse:: token:: { self , Token } ;
2121use crate :: ptr:: P ;
2222use crate :: symbol:: { sym, Symbol } ;
@@ -25,7 +25,7 @@ use crate::tokenstream::{TokenStream, TokenTree, DelimSpan};
2525use crate :: GLOBALS ;
2626
2727use log:: debug;
28- use syntax_pos:: { FileName , Span } ;
28+ use syntax_pos:: Span ;
2929
3030use std:: iter;
3131use std:: ops:: DerefMut ;
@@ -381,28 +381,25 @@ crate fn mk_attr_id() -> AttrId {
381381 AttrId ( id)
382382}
383383
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 {
386385 Attribute {
387386 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,
391390 is_sugared_doc : false ,
392- span : item . span ,
391+ span,
393392 }
394393}
395394
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+
396400/// Returns an outer attribute with the given value and span.
397401pub 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 )
406403}
407404
408405pub fn mk_sugared_doc_attr ( text : Symbol , span : Span ) -> Attribute {
@@ -716,33 +713,3 @@ derive_has_attrs! {
716713 Item , Expr , Local , ast:: ForeignItem , ast:: StructField , ast:: ImplItem , ast:: TraitItem , ast:: Arm ,
717714 ast:: Field , ast:: FieldPat , ast:: Variant , ast:: Param
718715}
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