pub struct Node {
pub doc_comments: Vec<Spanned<Istr>>,
pub node_type: Ident,
pub name: Ident,
pub repeat: Option<Spanned<Repeat>>,
pub type_specifier: Option<Spanned<TypeSpecifier>>,
pub short_properties: Vec<Spanned<Expression>>,
pub properties: Vec<Spanned<Property>>,
pub sub_nodes: Vec<NodeId>,
pub body_span: Option<Span>,
pub span: Span,
}Fields§
§doc_comments: Vec<Spanned<Istr>>§node_type: Ident§name: Ident§repeat: Option<Spanned<Repeat>>§type_specifier: Option<Spanned<TypeSpecifier>>§short_properties: Vec<Spanned<Expression>>§properties: Vec<Spanned<Property>>§sub_nodes: Vec<NodeId>§body_span: Option<Span>§span: SpanSpan of the whole node including docs. Don’t want docs? Use Self::non_docs_span()
Implementations§
Trait Implementations§
Source§impl SemanticTokenObject for Node
impl SemanticTokenObject for Node
type Context = Ast
fn to_tokens_in(&self, ctx: &Self::Context, tokens: &mut Vec<SemanticToken<'_>>)
fn to_tokens(&self, ctx: &Self::Context) -> Vec<SemanticToken<'_>>
fn to_respanned_tokens<'src>( &self, source: &'src str, object_span: Span, ctx: &Self::Context, ) -> Vec<Spanned<SemanticToken<'src>>>
Auto Trait Implementations§
impl Freeze for Node
impl RefUnwindSafe for Node
impl Send for Node
impl Sync for Node
impl Unpin for Node
impl UnsafeUnpin for Node
impl UnwindSafe for Node
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,
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 moreimpl<T> OrderedSeq<'_, T> for Twhere
T: Clone,
Source§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
Source§impl<T> SpanExt for T
impl<T> SpanExt for T
fn with_span(self, span: impl Into<Span>) -> Spanned<Self>where
Self: Sized,
Source§fn spanned(self, span: impl Into<Span>) -> Spanned<Self>where
Self: Sized,
fn spanned(self, span: impl Into<Span>) -> Spanned<Self>where
Self: Sized,
Same as
Self::with_span, but can avoid name collisionsfn with_dummy_span(self) -> Spanned<Self>where
Self: Sized,
fn into_with_dummy_span<T>(self) -> Spanned<T>where
Self: Into<T>,
Source§impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
Source§fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
Invokes
WrappingSpan::make_wrapped to wrap an AST node in a span.