pub struct SyntaxNode {
pub node_type: SyntaxNodeType,
pub src_range: Range<usize>,
pub sub_nodes: Vec<SyntaxNode>,
pub parsed_text: Option<String>,
pub message: Option<String>,
pub is_complete: bool,
}Fields§
§node_type: SyntaxNodeType§src_range: Range<usize>§sub_nodes: Vec<SyntaxNode>§parsed_text: Option<String>§message: Option<String>§is_complete: boolImplementations§
Source§impl SyntaxNode
impl SyntaxNode
Sourcepub fn as_atom(&self, tokenizer: &Tokenizer) -> Result<Option<Atom>, String>
pub fn as_atom(&self, tokenizer: &Tokenizer) -> Result<Option<Atom>, String>
Transforms a root SyntaxNode into an [Atom]
Sourcepub fn visit_depth_first<C>(&self, callback: C)where
C: FnMut(&SyntaxNode),
pub fn visit_depth_first<C>(&self, callback: C)where
C: FnMut(&SyntaxNode),
Visits all the nodes in a parsed syntax tree in a depth-first order
Trait Implementations§
Source§impl Clone for SyntaxNode
impl Clone for SyntaxNode
Source§fn clone(&self) -> SyntaxNode
fn clone(&self) -> SyntaxNode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SyntaxNode
impl RefUnwindSafe for SyntaxNode
impl Send for SyntaxNode
impl Sync for SyntaxNode
impl Unpin for SyntaxNode
impl UnwindSafe for SyntaxNode
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request