pub struct TokenCursor {
pub tokens: Vec<Token>,
pub language: Language,
pub index: usize,
}Expand description
Cursor over a token list with the helpers every frontend needs.
Fields§
§tokens: Vec<Token>§language: Language§index: usizeImplementations§
Source§impl TokenCursor
impl TokenCursor
pub const fn new(tokens: Vec<Token>, language: Language) -> Self
pub fn peek(&self) -> &Token
pub fn peek_at(&self, offset: usize) -> &Token
pub fn advance(&mut self) -> Token
pub fn is(&self, value: &str) -> bool
pub fn is_at(&self, value: &str, offset: usize) -> bool
pub fn is_kind(&self, kind: TokenKind) -> bool
pub fn is_kind_at(&self, kind: TokenKind, offset: usize) -> bool
pub fn eat(&mut self, value: &str) -> Option<Token>
pub fn at_end(&self) -> bool
Trait Implementations§
Source§impl Clone for TokenCursor
impl Clone for TokenCursor
Source§fn clone(&self) -> TokenCursor
fn clone(&self) -> TokenCursor
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TokenCursor
impl RefUnwindSafe for TokenCursor
impl Send for TokenCursor
impl Sync for TokenCursor
impl Unpin for TokenCursor
impl UnsafeUnpin for TokenCursor
impl UnwindSafe for TokenCursor
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.