Struct devise::proc_macro2::Group
source · pub struct Group { /* private fields */ }
Expand description
A delimited token stream.
A Group
internally contains a TokenStream
which is surrounded by
Delimiter
s.
Implementations§
source§impl Group
impl Group
sourcepub fn new(delimiter: Delimiter, stream: TokenStream) -> Group
pub fn new(delimiter: Delimiter, stream: TokenStream) -> Group
Creates a new Group
with the given delimiter and token stream.
This constructor will set the span for this group to
Span::call_site()
. To change the span you can use the set_span
method below.
sourcepub fn delimiter(&self) -> Delimiter
pub fn delimiter(&self) -> Delimiter
Returns the punctuation used as the delimiter for this group: a set of parentheses, square brackets, or curly braces.
sourcepub fn stream(&self) -> TokenStream
pub fn stream(&self) -> TokenStream
Returns the TokenStream
of tokens that are delimited in this Group
.
Note that the returned token stream does not include the delimiter returned above.
sourcepub fn span(&self) -> Span
pub fn span(&self) -> Span
Returns the span for the delimiters of this token stream, spanning the
entire Group
.
pub fn span(&self) -> Span {
^^^^^^^
sourcepub fn span_open(&self) -> Span
pub fn span_open(&self) -> Span
Returns the span pointing to the opening delimiter of this group.
pub fn span_open(&self) -> Span {
^
sourcepub fn span_close(&self) -> Span
pub fn span_close(&self) -> Span
Returns the span pointing to the closing delimiter of this group.
pub fn span_close(&self) -> Span {
^
sourcepub fn delim_span(&self) -> DelimSpan
pub fn delim_span(&self) -> DelimSpan
Returns an object that holds this group’s span_open()
and
span_close()
together (in a more compact representation than holding
those 2 spans individually).
Trait Implementations§
source§impl Display for Group
impl Display for Group
Prints the group as a string that should be losslessly convertible back
into the same group (modulo spans), except for possibly TokenTree::Group
s
with Delimiter::None
delimiters.
source§impl ToTokens for Group
impl ToTokens for Group
source§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere Self: Sized,
impl Token for Group
Auto Trait Implementations§
impl RefUnwindSafe for Group
impl !Send for Group
impl !Sync for Group
impl Unpin for Group
impl UnwindSafe for Group
Blanket Implementations§
source§impl<T> AstItemExt for Twhere
T: ToTokens,
impl<T> AstItemExt for Twhere T: ToTokens,
fn respanned(&self, span: Span) -> Twhere T: Parse,
fn respanned_tokens(&self, span: Span) -> TokenStream
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Spanned for Twhere
T: Spanned + ?Sized,
impl<T> Spanned for Twhere T: Spanned + ?Sized,
source§fn span(&self) -> Span
fn span(&self) -> Span
Span
covering the complete contents of this syntax tree
node, or Span::call_site()
if this node is empty.