@@ -212,8 +212,8 @@ pub use quote::{quote, quote_span};
212
212
fn tree_to_bridge_tree (
213
213
tree : TokenTree ,
214
214
) -> bridge:: TokenTree <
215
+ bridge:: client:: TokenStream ,
215
216
bridge:: client:: Span ,
216
- bridge:: client:: Group ,
217
217
bridge:: client:: Ident ,
218
218
bridge:: client:: Literal ,
219
219
> {
@@ -238,8 +238,8 @@ impl From<TokenTree> for TokenStream {
238
238
struct ConcatTreesHelper {
239
239
trees : Vec <
240
240
bridge:: TokenTree <
241
+ bridge:: client:: TokenStream ,
241
242
bridge:: client:: Span ,
242
- bridge:: client:: Group ,
243
243
bridge:: client:: Ident ,
244
244
bridge:: client:: Literal ,
245
245
> ,
@@ -365,8 +365,8 @@ pub mod token_stream {
365
365
pub struct IntoIter (
366
366
std:: vec:: IntoIter <
367
367
bridge:: TokenTree <
368
+ bridge:: client:: TokenStream ,
368
369
bridge:: client:: Span ,
369
- bridge:: client:: Group ,
370
370
bridge:: client:: Ident ,
371
371
bridge:: client:: Literal ,
372
372
> ,
@@ -788,7 +788,7 @@ impl fmt::Display for TokenTree {
788
788
/// A `Group` internally contains a `TokenStream` which is surrounded by `Delimiter`s.
789
789
#[ derive( Clone ) ]
790
790
#[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
791
- pub struct Group ( bridge:: client:: Group ) ;
791
+ pub struct Group ( bridge:: Group < bridge :: client:: TokenStream , bridge :: client :: Span > ) ;
792
792
793
793
#[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
794
794
impl !Send for Group { }
@@ -825,13 +825,17 @@ impl Group {
825
825
/// method below.
826
826
#[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
827
827
pub fn new ( delimiter : Delimiter , stream : TokenStream ) -> Group {
828
- Group ( bridge:: client:: Group :: new ( delimiter, stream. 0 ) )
828
+ Group ( bridge:: Group {
829
+ delimiter,
830
+ stream : stream. 0 ,
831
+ span : bridge:: DelimSpan :: from_single ( Span :: call_site ( ) . 0 ) ,
832
+ } )
829
833
}
830
834
831
835
/// Returns the delimiter of this `Group`
832
836
#[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
833
837
pub fn delimiter ( & self ) -> Delimiter {
834
- self . 0 . delimiter ( )
838
+ self . 0 . delimiter
835
839
}
836
840
837
841
/// Returns the `TokenStream` of tokens that are delimited in this `Group`.
@@ -840,7 +844,7 @@ impl Group {
840
844
/// returned above.
841
845
#[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
842
846
pub fn stream ( & self ) -> TokenStream {
843
- TokenStream ( Some ( self . 0 . stream ( ) ) )
847
+ TokenStream ( self . 0 . stream . clone ( ) )
844
848
}
845
849
846
850
/// Returns the span for the delimiters of this token stream, spanning the
@@ -852,7 +856,7 @@ impl Group {
852
856
/// ```
853
857
#[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
854
858
pub fn span ( & self ) -> Span {
855
- Span ( self . 0 . span ( ) )
859
+ Span ( self . 0 . span . entire )
856
860
}
857
861
858
862
/// Returns the span pointing to the opening delimiter of this group.
@@ -863,7 +867,7 @@ impl Group {
863
867
/// ```
864
868
#[ stable( feature = "proc_macro_group_span" , since = "1.55.0" ) ]
865
869
pub fn span_open ( & self ) -> Span {
866
- Span ( self . 0 . span_open ( ) )
870
+ Span ( self . 0 . span . open )
867
871
}
868
872
869
873
/// Returns the span pointing to the closing delimiter of this group.
@@ -874,7 +878,7 @@ impl Group {
874
878
/// ```
875
879
#[ stable( feature = "proc_macro_group_span" , since = "1.55.0" ) ]
876
880
pub fn span_close ( & self ) -> Span {
877
- Span ( self . 0 . span_close ( ) )
881
+ Span ( self . 0 . span . close )
878
882
}
879
883
880
884
/// Configures the span for this `Group`'s delimiters, but not its internal
@@ -885,7 +889,7 @@ impl Group {
885
889
/// tokens at the level of the `Group`.
886
890
#[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
887
891
pub fn set_span ( & mut self , span : Span ) {
888
- self . 0 . set_span ( span. 0 ) ;
892
+ self . 0 . span = bridge :: DelimSpan :: from_single ( span. 0 ) ;
889
893
}
890
894
}
891
895
0 commit comments