Struct full_moon::tokenizer::TokenReference [−][src]
pub struct TokenReference<'a> { /* fields omitted */ }
Expand description
A reference to a token used by Ast’s.
Dereferences to a Token
Implementations
Creates a TokenReference from leading/trailing trivia as well as the leading token
Returns a symbol with the leading and trailing whitespace Only whitespace is supported
let symbol = TokenReference::symbol("\nreturn ")?; assert_eq!(symbol.leading_trivia().next().unwrap().to_string(), "\n"); assert_eq!(symbol.token().token_type(), &TokenType::Symbol { symbol: Symbol::Return, }); assert_eq!(symbol.trailing_trivia().next().unwrap().to_string(), " "); assert!(TokenReference::symbol("isnt whitespace").is_err()); assert!(TokenReference::symbol(" notasymbol ").is_err());
Returns the leading trivia
Returns the trailing trivia
Creates a clone of the current TokenReference with the new inner token, preserving trivia.
Methods from Deref<Target = Token<'a>>
The position a token begins at
The position a token ends at
The type of token as well as the data needed to represent it
If you don’t need any other information, use token_kind
instead.
The kind of token with no additional data.
If you need any information such as idenitfier names, use token_type
instead.
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
The start position of a node. None if can’t be determined
The end position of a node. None if it can’t be determined
Whether another node of the same type is the same as this one semantically, ignoring position
The token references that comprise a node
The full range of a node, if it has both start and end positions
The tokens surrounding a node that are ignored and not accessible through the node’s own accessors. Use this if you want to get surrounding comments or whitespace. Returns a tuple of the leading and trailing trivia. Read more
type Owned = TokenReference<'static>
type Owned = TokenReference<'static>
What an owned version of the object looks like. Usually contains a 'static
lifetime.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl<'a> RefUnwindSafe for TokenReference<'a>
impl<'a> Send for TokenReference<'a>
impl<'a> Sync for TokenReference<'a>
impl<'a> Unpin for TokenReference<'a>
impl<'a> UnwindSafe for TokenReference<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more