Struct full_moon::tokenizer::TokenReference
source · [−]pub struct TokenReference { /* private fields */ }
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>
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
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 RefUnwindSafe for TokenReference
impl Send for TokenReference
impl Sync for TokenReference
impl Unpin for TokenReference
impl UnwindSafe for TokenReference
Blanket Implementations
Mutably borrows from an owned value. Read more