Trait dprint_swc_ecma_ast_view::NodeTrait [−][src]
pub trait NodeTrait<'a>: SpannedExt {}Show 28 methods
fn parent(&self) -> Option<Node<'a>>; fn children(&self) -> Vec<Node<'a>>; fn as_node(&self) -> Node<'a>; fn kind(&self) -> NodeKind; fn ancestors(&self) -> AncestorIterator<'a>ⓘ{ ... } fn start_line(&self) -> usize { ... } fn end_line(&self) -> usize { ... } fn start_column(&self) -> usize { ... } fn end_column(&self) -> usize { ... } fn width(&self) -> usize { ... } fn child_index(&self) -> usize { ... } fn previous_sibling(&self) -> Option<Node<'a>> { ... } fn previous_siblings(&self) -> Vec<Node<'a>> { ... } fn next_sibling(&self) -> Option<Node<'a>> { ... } fn next_siblings(&self) -> Vec<Node<'a>> { ... } fn tokens(&self) -> &'a [TokenAndSpan] { ... } fn children_with_tokens(&self) -> Vec<NodeOrToken<'a>> { ... } fn children_with_tokens_fast(Notable traits for AncestorIterator<'a>impl<'a> Iterator for AncestorIterator<'a> type Item = Node<'a>;
&self,
program: &dyn RootNode<'a>
) -> Vec<NodeOrToken<'a>> { ... } fn leading_comments(&self) -> CommentsIterator<'a>ⓘ{ ... } fn trailing_comments(&self) -> CommentsIterator<'a>ⓘNotable traits for CommentsIterator<'a>impl<'a> Iterator for CommentsIterator<'a> type Item = &'a Comment;
{ ... } fn program(&self) -> Program<'a> { ... } fn module(&self) -> &Module<'a> { ... } fn script(&self) -> &Script<'a> { ... } fn text(&self) -> &'a str { ... } fn previous_token(&self) -> Option<&'a TokenAndSpan> { ... } fn next_token(&self) -> Option<&'a TokenAndSpan> { ... } fn previous_tokens(&self) -> &'a [TokenAndSpan] { ... } fn next_tokens(&self) -> &'a [TokenAndSpan] { ... }Notable traits for CommentsIterator<'a>impl<'a> Iterator for CommentsIterator<'a> type Item = &'a Comment;
Required methods
Provided methods
fn ancestors(&self) -> AncestorIterator<'a>ⓘNotable traits for AncestorIterator<'a>impl<'a> Iterator for AncestorIterator<'a> type Item = Node<'a>;
Notable traits for AncestorIterator<'a>
impl<'a> Iterator for AncestorIterator<'a> type Item = Node<'a>;
fn start_line(&self) -> usize
fn start_column(&self) -> usize
fn end_column(&self) -> usize
fn child_index(&self) -> usize
fn previous_sibling(&self) -> Option<Node<'a>>
fn previous_siblings(&self) -> Vec<Node<'a>>
fn previous_siblings(&self) -> Vec<Node<'a>>
Gets the previous siblings in the order they appear in the file.
fn next_sibling(&self) -> Option<Node<'a>>
fn next_sibling(&self) -> Option<Node<'a>>
Gets the next siblings in the order they appear in the file.
fn next_siblings(&self) -> Vec<Node<'a>>
fn tokens(&self) -> &'a [TokenAndSpan]
fn children_with_tokens(&self) -> Vec<NodeOrToken<'a>>
fn children_with_tokens_fast(
&self,
program: &dyn RootNode<'a>
) -> Vec<NodeOrToken<'a>>
fn leading_comments(&self) -> CommentsIterator<'a>ⓘNotable traits for CommentsIterator<'a>impl<'a> Iterator for CommentsIterator<'a> type Item = &'a Comment;
Notable traits for CommentsIterator<'a>
impl<'a> Iterator for CommentsIterator<'a> type Item = &'a Comment;
fn trailing_comments(&self) -> CommentsIterator<'a>ⓘNotable traits for CommentsIterator<'a>impl<'a> Iterator for CommentsIterator<'a> type Item = &'a Comment;
Notable traits for CommentsIterator<'a>
impl<'a> Iterator for CommentsIterator<'a> type Item = &'a Comment;
Gets the root node if the view was created from a Module; otherwise panics.
Gets the root node if the view was created from a Script; otherwise panics.
fn previous_token(&self) -> Option<&'a TokenAndSpan>
fn next_token(&self) -> Option<&'a TokenAndSpan>
fn previous_tokens(&self) -> &'a [TokenAndSpan]
fn previous_tokens(&self) -> &'a [TokenAndSpan]
Gets the previous tokens in the order they appear in the file.
fn next_tokens(&self) -> &'a [TokenAndSpan]
fn next_tokens(&self) -> &'a [TokenAndSpan]
Gets the next tokens in the order they appear in the file.