Struct rowan::api::SyntaxNode [−][src]
pub struct SyntaxNode<L: Language> { /* fields omitted */ }
Implementations
Returns a green tree, equal to the green tree this node belongs two, except with this node substitute. The complexity of operation is proportional to the depth of the tree
pub fn children(&self) -> SyntaxNodeChildren<L>ⓘNotable traits for SyntaxNodeChildren<L>
impl<L: Language> Iterator for SyntaxNodeChildren<L> type Item = SyntaxNode<L>;
pub fn children_with_tokens(&self) -> SyntaxElementChildren<L>ⓘNotable traits for SyntaxElementChildren<L>
impl<L: Language> Iterator for SyntaxElementChildren<L> type Item = SyntaxElement<L>;
Return the leftmost token in the subtree of this node.
Return the rightmost token in the subtree of this node.
pub fn siblings_with_tokens(
&self,
direction: Direction
) -> impl Iterator<Item = SyntaxElement<L>>
Traverse the subtree rooted at the current node (including the current node) in preorder, excluding tokens.
Traverse the subtree rooted at the current node (including the current node) in preorder, including tokens.
pub fn token_at_offset(&self, offset: TextSize) -> TokenAtOffset<SyntaxToken<L>>ⓘNotable traits for TokenAtOffset<T>
impl<T> Iterator for TokenAtOffset<T> type Item = T;
pub fn token_at_offset(&self, offset: TextSize) -> TokenAtOffset<SyntaxToken<L>>ⓘNotable traits for TokenAtOffset<T>
impl<T> Iterator for TokenAtOffset<T> type Item = T;
Find a token in the subtree corresponding to this node, which covers the offset. Precondition: offset must be withing node’s range.
Return the deepest node or token in the current subtree that fully contains the range. If the range is empty and is contained in two leaf nodes, either one can be returned. Precondition: range must be contained withing the current node
Finds a SyntaxElement
which intersects with a given range
. If
there are several intersecting elements, any one can be returned.
The method uses binary search internally, so it’s complexity is
O(log(N))
where N = self.children_with_tokens().count()
.
Returns an independent copy of the subtree rooted at this node.
The parent of the returned node will be None
, the start offset will be
zero, but, otherwise, it’ll be equivalent to the source node.
Trait Implementations
Performs the conversion.
Performs the conversion.
Performs the conversion.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl<L> !RefUnwindSafe for SyntaxNode<L>
impl<L> !Send for SyntaxNode<L>
impl<L> !Sync for SyntaxNode<L>
impl<L> Unpin for SyntaxNode<L> where
L: Unpin,
impl<L> !UnwindSafe for SyntaxNode<L>
Blanket Implementations
Mutably borrows from an owned value. Read more