pub struct GreenNode<'a, L>where
L: Language,{
pub kind: <L as Language>::ElementType,
pub text_len: u32,
pub children: &'a [GreenTree<'a, L>],
}Expand description
A green node that contains child elements.
Green nodes are allocated in a SyntaxArena and hold a slice reference
to their children. They are POD (Plain Old Data) and strictly immutable.
Fields§
§kind: <L as Language>::ElementTypeThe element type (kind) of this node.
text_len: u32The total text length of this node (sum of children’s lengths).
children: &'a [GreenTree<'a, L>]The children of this node.
Implementations§
Source§impl<'a, L> GreenNode<'a, L>where
L: Language,
impl<'a, L> GreenNode<'a, L>where
L: Language,
Sourcepub fn new(
kind: <L as Language>::ElementType,
children: &'a [GreenTree<'a, L>],
) -> GreenNode<'a, L>
pub fn new( kind: <L as Language>::ElementType, children: &'a [GreenTree<'a, L>], ) -> GreenNode<'a, L>
Creates a new green node from child elements.
This function assumes the children slice is already allocated in the arena.
Sourcepub fn kind(&self) -> <L as Language>::ElementType
pub fn kind(&self) -> <L as Language>::ElementType
Returns the kind of this node.
Trait Implementations§
impl<'a, L> Eq for GreenNode<'a, L>where
L: Language,
Auto Trait Implementations§
impl<'a, L> Freeze for GreenNode<'a, L>
impl<'a, L> RefUnwindSafe for GreenNode<'a, L>
impl<'a, L> Send for GreenNode<'a, L>
impl<'a, L> Sync for GreenNode<'a, L>
impl<'a, L> Unpin for GreenNode<'a, L>
impl<'a, L> UnwindSafe for GreenNode<'a, L>where
<L as Language>::ElementType: UnwindSafe + RefUnwindSafe,
<L as Language>::TokenType: RefUnwindSafe,
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