pub struct Token<K: TokenKind> {
pub kind: K,
pub span: Span,
pub lexeme: String,
pub leading_trivia: Vec<TokenTrivia<K>>,
pub trailing_trivia: Vec<TokenTrivia<K>>,
}Expand description
Token emitted by the lexer.
Fields§
§kind: KToken kind enum.
span: SpanSource span covered by the token.
lexeme: StringOriginal textual lexeme.
leading_trivia: Vec<TokenTrivia<K>>Trivia that appears before the token.
trailing_trivia: Vec<TokenTrivia<K>>Trivia that appears immediately after the token.
Implementations§
Source§impl<K: TokenKind> Token<K>
impl<K: TokenKind> Token<K>
Sourcepub fn new<'fn_lifetime>() -> TokenBuilder<'fn_lifetime, K, (), (), (), (), (), (), ()>
pub fn new<'fn_lifetime>() -> TokenBuilder<'fn_lifetime, K, (), (), (), (), (), (), ()>
Creating a builder.
§Required Fields
§kind
- Type:
K
Token kind enum.
§lexeme
- Type:
Into<String>
Original textual lexeme.
§span
- Type:
Span
Source span covered by the token.
§Optional Fields
§leading_trivia
- Type:
Vec < TokenTrivia < K > > - Default:
Vec :: new()
Trivia that appears before the token.
§trailing_trivia
- Type:
Vec < TokenTrivia < K > > - Default:
Vec :: new()
Trivia that appears immediately after the token.
Source§impl<K: TokenKind> Token<K>
impl<K: TokenKind> Token<K>
Sourcepub fn create(
kind: K,
span: Span,
lexeme: impl Into<String>,
leading_trivia: Vec<TokenTrivia<K>>,
trailing_trivia: Vec<TokenTrivia<K>>,
) -> Self
pub fn create( kind: K, span: Span, lexeme: impl Into<String>, leading_trivia: Vec<TokenTrivia<K>>, trailing_trivia: Vec<TokenTrivia<K>>, ) -> Self
Construct a new token with the provided trivia.
For builder pattern usage, use TokenBuilder::new() instead.
Sourcepub fn with_trivia(
self,
leading: Vec<TokenTrivia<K>>,
trailing: Vec<TokenTrivia<K>>,
) -> Self
pub fn with_trivia( self, leading: Vec<TokenTrivia<K>>, trailing: Vec<TokenTrivia<K>>, ) -> Self
Create a token with attached trivia.
Trait Implementations§
Auto Trait Implementations§
impl<K> Freeze for Token<K>where
K: Freeze,
impl<K> RefUnwindSafe for Token<K>where
K: RefUnwindSafe,
impl<K> Send for Token<K>
impl<K> Sync for Token<K>
impl<K> Unpin for Token<K>where
K: Unpin,
impl<K> UnwindSafe for Token<K>where
K: UnwindSafe,
Blanket Implementations§
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
Mutably borrows from an owned value. Read more