[][src]Enum syntax::tokenstream::TokenStream

pub enum TokenStream {
    Empty,
    Tree(TokenTreeIsJoint),
    Stream(Lrc<Vec<TreeAndJoint>>),
}

Token Streams

A TokenStream is an abstract sequence of tokens, organized into TokenTrees. The goal is for procedural macros to work with TokenStreams and TokenTrees instead of a representation of the abstract syntax tree. Today's TokenTrees can still contain AST via Token::Interpolated for back-compat.

Variants

EmptyTree(TokenTreeIsJoint)Stream(Lrc<Vec<TreeAndJoint>>)

Methods

impl TokenStream
[src]

pub fn len(&self) -> usize
[src]

pub fn empty() -> TokenStream
[src]

pub fn is_empty(&self) -> bool
[src]

pub fn new(streams: Vec<TreeAndJoint>) -> TokenStream
[src]

pub fn append_to_tree_and_joint_vec(self, vec: &mut Vec<TreeAndJoint>)
[src]

Important traits for Cursor
pub fn trees(&self) -> Cursor
[src]

Important traits for Cursor
pub fn into_trees(self) -> Cursor
[src]

pub fn eq_unspanned(&self, other: &TokenStream) -> bool
[src]

Compares two TokenStreams, checking equality without regarding span information.

pub fn probably_equal_for_proc_macro(&self, other: &TokenStream) -> bool
[src]

pub fn map_enumerated<F: FnMut(usize, TokenTree) -> TokenTree>(
    self,
    f: F
) -> TokenStream
[src]

pub fn map<F: FnMut(TokenTree) -> TokenTree>(self, f: F) -> TokenStream
[src]

Trait Implementations

impl From<TokenTree> for TokenStream
[src]

impl From<Token> for TokenStream
[src]

impl From<TokenStream> for ThinTokenStream
[src]

impl From<ThinTokenStream> for TokenStream
[src]

impl Eq for TokenStream
[src]

impl PartialEq<TokenStream> for TokenStream
[src]

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests for !=.

impl Clone for TokenStream
[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for TokenStream
[src]

impl Display for TokenStream
[src]

impl<T: Into<TokenStream>> FromIterator<T> for TokenStream
[src]

impl Encodable for TokenStream
[src]

impl Decodable for TokenStream
[src]

Auto Trait Implementations

impl !Send for TokenStream

impl !Sync for TokenStream

Blanket Implementations

impl<T> From for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Encodable for T where
    T: UseSpecializedEncodable + ?Sized
[src]

impl<T> Decodable for T where
    T: UseSpecializedDecodable
[src]

impl<E> SpecializationError for E
[src]

impl<T> Erased for T
[src]

impl<T> Send for T where
    T: ?Sized
[src]

impl<T> Sync for T where
    T: ?Sized
[src]

impl<T> Erased for T