pub struct Token {
pub value: TokenEnum,
pub span: Span,
}
Expand description
The token type.
Fields§
§value: TokenEnum
The type of token.
span: Span
The location of the token.
Implementations§
Source§impl Token
impl Token
Sourcepub fn expect<T>(&self) -> Result<T>
pub fn expect<T>(&self) -> Result<T>
Downcast this token to its inner type. Returns an ErrorType::UnexpectedToken when T is not the type of the inner token.
§Examples
use vyder_core::prelude::*;
let token: Token = Token { value: tokens::Number { value: 0.0 }.into(), span: Span::new((1, 1, 0), "example") };
assert!(token.expect::<tokens::Return>().is_err());
let number_token: tokens::Number = token.expect::<tokens::Number>().unwrap();
assert_eq!(number_token.value, 0.0);
Trait Implementations§
impl StructuralPartialEq for Token
Auto Trait Implementations§
impl Freeze for Token
impl RefUnwindSafe for Token
impl Send for Token
impl Sync for Token
impl Unpin for Token
impl UnwindSafe for Token
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