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
The index of this span into the list of parsed units. This is used to identify which source string this span refers to when combining multiple ASTs
range: TextRange
Range of the node in the input slice
Implementations§
source§impl NodeSpan
impl NodeSpan
sourcepub fn from_lexer(start: LexerPosition, end: LexerPosition) -> Self
pub fn from_lexer(start: LexerPosition, end: LexerPosition) -> Self
Create a new node span from two lexer positions
sourcepub fn new_start(source_id: FileId) -> Self
pub fn new_start(source_id: FileId) -> Self
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) -> Self
pub fn new_end(source_id: FileId, length: usize) -> Self
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<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::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
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
)