pub struct TokenSpan {
pub start_token: TokenId,
pub end_token: TokenId,
}
Expand description
Holds token information about an AST element. Since the different pieces may be gathered in different locations, the fields are gated behind accessor functions which also check some invariants every time they are called.
Fields§
§start_token: TokenId
§end_token: TokenId
Implementations§
Trait Implementations§
source§impl HasTokenSpan for TokenSpan
impl HasTokenSpan for TokenSpan
fn get_start_token(&self) -> TokenId
fn get_end_token(&self) -> TokenId
fn get_token_slice<'a>(&self, tokens: &'a dyn TokenAccess) -> &'a [Token]
fn get_pos(&self, tokens: &dyn TokenAccess) -> SrcPos
fn get_span(&self, ctx: &dyn TokenAccess) -> SrcPos
fn span(&self) -> TokenSpan
impl Copy for TokenSpan
impl Eq for TokenSpan
impl StructuralPartialEq for TokenSpan
Auto Trait Implementations§
impl Freeze for TokenSpan
impl RefUnwindSafe for TokenSpan
impl Send for TokenSpan
impl Sync for TokenSpan
impl Unpin for TokenSpan
impl UnwindSafe for TokenSpan
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.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