pub struct SyntaxNodePtr { /* private fields */ }Expand description
An untyped lightweight pointer to a syntax node, resolvable against a tree.
Stores SyntaxKind + TextRange — the same data as AstPtr but without
a type parameter, so it can point at nodes of heterogeneous kinds.
Implementations§
Source§impl SyntaxNodePtr
impl SyntaxNodePtr
Sourcepub fn from_node(node: &SyntaxNode) -> Self
pub fn from_node(node: &SyntaxNode) -> Self
Create a pointer from a live syntax node.
Sourcepub fn text_range(&self) -> TextRange
pub fn text_range(&self) -> TextRange
The text range this pointer points to.
Sourcepub fn syntax_kind(&self) -> SyntaxKind
pub fn syntax_kind(&self) -> SyntaxKind
The syntax kind of the pointed-to node.
Sourcepub fn resolve(&self, root: &SyntaxNode) -> Option<SyntaxNode>
pub fn resolve(&self, root: &SyntaxNode) -> Option<SyntaxNode>
Resolve this pointer back to a live syntax node.
Trait Implementations§
Source§impl Clone for SyntaxNodePtr
impl Clone for SyntaxNodePtr
Source§fn clone(&self) -> SyntaxNodePtr
fn clone(&self) -> SyntaxNodePtr
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 moreimpl Copy for SyntaxNodePtr
Source§impl Debug for SyntaxNodePtr
impl Debug for SyntaxNodePtr
impl Eq for SyntaxNodePtr
Source§impl Hash for SyntaxNodePtr
impl Hash for SyntaxNodePtr
Source§impl PartialEq for SyntaxNodePtr
impl PartialEq for SyntaxNodePtr
Source§fn eq(&self, other: &SyntaxNodePtr) -> bool
fn eq(&self, other: &SyntaxNodePtr) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SyntaxNodePtr
Auto Trait Implementations§
impl Freeze for SyntaxNodePtr
impl RefUnwindSafe for SyntaxNodePtr
impl Send for SyntaxNodePtr
impl Sync for SyntaxNodePtr
impl Unpin for SyntaxNodePtr
impl UnsafeUnpin for SyntaxNodePtr
impl UnwindSafe for SyntaxNodePtr
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