pub struct NodeSpan {
source_id: FileId,
range: TextRange,
}
Expand description
Span information for a node, constructed from a pair of LexerPositions
Fields§
§source_id: FileId
§range: TextRange
Implementations§
source§impl NodeSpan
impl NodeSpan
sourcepub fn from_lexer(start: LexerPosition, end: LexerPosition) -> NodeSpan
pub fn from_lexer(start: LexerPosition, end: LexerPosition) -> NodeSpan
Create a new node span from two lexer positions
sourcepub fn new_start(source_id: FileId) -> NodeSpan
pub fn new_start(source_id: FileId) -> NodeSpan
Return a 0-length span located at the start of the given source
This may be used in span range queries.
sourcepub fn new_end(source_id: FileId, length: usize) -> NodeSpan
pub fn new_end(source_id: FileId, length: usize) -> NodeSpan
Return a 0-length span located at the end of the given source (as indicated by the offset)
This may be used in span range queries.
sourcepub fn start(&self) -> LexerPosition
pub fn start(&self) -> LexerPosition
Return the start of this span as a LexerPosition
sourcepub fn end(&self) -> LexerPosition
pub fn end(&self) -> LexerPosition
Return the end of this span as a LexerPosition
Trait Implementations§
source§impl<'de> Deserialize<'de> for NodeSpan
impl<'de> Deserialize<'de> for NodeSpan
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<NodeSpan, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<NodeSpan, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Ord for NodeSpan
impl Ord for NodeSpan
source§impl PartialOrd for NodeSpan
impl PartialOrd for NodeSpan
source§impl Serialize for NodeSpan
impl Serialize for NodeSpan
source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for NodeSpan
impl Eq for NodeSpan
impl StructuralPartialEq for NodeSpan
Auto Trait Implementations§
impl Freeze for NodeSpan
impl RefUnwindSafe for NodeSpan
impl Send for NodeSpan
impl Sync for NodeSpan
impl Unpin for NodeSpan
impl UnwindSafe for NodeSpan
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
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
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