pub enum SyntaxTree {
Node {
kind: String,
field: Option<String>,
trivia: bool,
start: usize,
end: usize,
children: Vec<Self>,
attributes: Option<SyntaxAttributes>,
},
Token {
kind: Option<String>,
field: Option<String>,
trivia: bool,
start: usize,
end: usize,
attributes: Option<SyntaxAttributes>,
text: LeafText,
},
Error {
start: usize,
end: usize,
text: LeafText,
reason: Option<String>,
},
Missing {
kind: Option<String>,
start: usize,
end: usize,
literal: bool,
},
Embed {
language: String,
start: usize,
end: usize,
root: Box<Self>,
},
}Expand description
One node of a concrete syntax tree; offsets are byte offsets into the input.
Variants§
Node
A node a rule (or an alias) built.
Fields
§
attributes: Option<SyntaxAttributes>The attributes semantic actions set.
Token
A leaf: a literal, a token rule, an external token or trivia.
Fields
§
attributes: Option<SyntaxAttributes>The attributes semantic actions set.
Error
Input error recovery skipped, or the whole input of a refused parse.
Fields
Missing
A zero-width node error recovery inserted for an absent item.
Fields
Embed
A region another language parsed.
Implementations§
Source§impl SyntaxTree
impl SyntaxTree
Sourcepub fn first_recovery(&self) -> Option<&Self>
pub fn first_recovery(&self) -> Option<&Self>
The first ERROR or MISSING node, in preorder.
Trait Implementations§
Source§impl Clone for SyntaxTree
impl Clone for SyntaxTree
Source§fn clone(&self) -> SyntaxTree
fn clone(&self) -> SyntaxTree
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 moreSource§impl Debug for SyntaxTree
impl Debug for SyntaxTree
impl Eq for SyntaxTree
Source§impl PartialEq for SyntaxTree
impl PartialEq for SyntaxTree
impl StructuralPartialEq for SyntaxTree
Auto Trait Implementations§
impl Freeze for SyntaxTree
impl RefUnwindSafe for SyntaxTree
impl Send for SyntaxTree
impl Sync for SyntaxTree
impl Unpin for SyntaxTree
impl UnsafeUnpin for SyntaxTree
impl UnwindSafe for SyntaxTree
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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 more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.