NonTerminalHandle

Trait NonTerminalHandle 

Source
pub trait NonTerminalHandle: Sized {
    type View;

    // Required methods
    fn node_id(&self) -> CstNodeId;
    fn new_with_visit<F: CstFacade, E>(
        index: CstNodeId,
        tree: &F,
        visit_ignored: &mut impl BuiltinTerminalVisitor<E, F>,
    ) -> Result<Self, CstConstructError<E>>;
    fn get_view_with_visit<'v, F: CstFacade, V: BuiltinTerminalVisitor<E, F>, O, E>(
        &self,
        tree: &F,
        visit: impl FnMut(Self::View, &'v mut V) -> (O, &'v mut V),
        visit_ignored: &'v mut V,
    ) -> Result<O, CstConstructError<E>>;
    fn kind(&self) -> NonTerminalKind;

    // Provided methods
    fn new<F: CstFacade>(
        index: CstNodeId,
        tree: &F,
    ) -> Result<Self, CstConstructError> { ... }
    fn get_view<C: CstFacade>(
        &self,
        tree: &C,
    ) -> Result<Self::View, CstConstructError> { ... }
}
Expand description

A trait that all generated non-terminal handles implements.

Required Associated Types§

Source

type View

The type of the view for this non-terminal.

Required Methods§

Source

fn node_id(&self) -> CstNodeId

Node ID of the non-terminal.

Source

fn new_with_visit<F: CstFacade, E>( index: CstNodeId, tree: &F, visit_ignored: &mut impl BuiltinTerminalVisitor<E, F>, ) -> Result<Self, CstConstructError<E>>

Source

fn get_view_with_visit<'v, F: CstFacade, V: BuiltinTerminalVisitor<E, F>, O, E>( &self, tree: &F, visit: impl FnMut(Self::View, &'v mut V) -> (O, &'v mut V), visit_ignored: &'v mut V, ) -> Result<O, CstConstructError<E>>

Get the view of the non-terminal.

Source

fn kind(&self) -> NonTerminalKind

Get the kind of the non-terminal.

Provided Methods§

Source

fn new<F: CstFacade>( index: CstNodeId, tree: &F, ) -> Result<Self, CstConstructError>

Create a new non-terminal handle from a node.

Source

fn get_view<C: CstFacade>( &self, tree: &C, ) -> Result<Self::View, CstConstructError>

Get the view of the non-terminal.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl NonTerminalHandle for ArrayBeginHandle

Source§

impl NonTerminalHandle for ArrayElementsHandle

Source§

impl NonTerminalHandle for ArrayElementsOptHandle

Source§

impl NonTerminalHandle for ArrayElementsTailHandle

Source§

impl NonTerminalHandle for ArrayElementsTailOptHandle

Source§

impl NonTerminalHandle for ArrayEndHandle

Source§

impl NonTerminalHandle for ArrayHandle

Source§

impl NonTerminalHandle for ArrayMarkerHandle

Source§

impl NonTerminalHandle for ArrayMarkerOptHandle

Source§

impl NonTerminalHandle for ArrayOptHandle

Source§

impl NonTerminalHandle for AtHandle

Source§

impl NonTerminalHandle for Backtick1Handle

Source§

impl NonTerminalHandle for Backtick2Handle

Source§

impl NonTerminalHandle for Backtick3Handle

Source§

impl NonTerminalHandle for Backtick4Handle

Source§

impl NonTerminalHandle for Backtick5Handle

Source§

impl NonTerminalHandle for BeginHandle

Source§

impl NonTerminalHandle for BindHandle

Source§

impl NonTerminalHandle for BindingHandle

Source§

impl NonTerminalHandle for BindingRhsHandle

Source§

impl NonTerminalHandle for BooleanHandle

Source§

impl NonTerminalHandle for CodeBlock3Handle

Source§

impl NonTerminalHandle for CodeBlock3ListGroupHandle

Source§

impl NonTerminalHandle for CodeBlock3ListHandle

Source§

impl NonTerminalHandle for CodeBlock4Handle

Source§

impl NonTerminalHandle for CodeBlock4ListGroupHandle

Source§

impl NonTerminalHandle for CodeBlock4ListHandle

Source§

impl NonTerminalHandle for CodeBlock5Handle

Source§

impl NonTerminalHandle for CodeBlock5ListGroupHandle

Source§

impl NonTerminalHandle for CodeBlock5ListHandle

Source§

impl NonTerminalHandle for CodeBlock6Handle

Source§

impl NonTerminalHandle for CodeBlock6ListGroupHandle

Source§

impl NonTerminalHandle for CodeBlock6ListHandle

Source§

impl NonTerminalHandle for CodeBlockEnd3Handle

Source§

impl NonTerminalHandle for CodeBlockEnd4Handle

Source§

impl NonTerminalHandle for CodeBlockEnd5Handle

Source§

impl NonTerminalHandle for CodeBlockEnd6Handle

Source§

impl NonTerminalHandle for CodeBlockHandle

Source§

impl NonTerminalHandle for CodeBlockStart3Handle

Source§

impl NonTerminalHandle for CodeBlockStart4Handle

Source§

impl NonTerminalHandle for CodeBlockStart5Handle

Source§

impl NonTerminalHandle for CodeBlockStart6Handle

Source§

impl NonTerminalHandle for CommaHandle

Source§

impl NonTerminalHandle for ContinueHandle

Source§

impl NonTerminalHandle for DotHandle

Source§

impl NonTerminalHandle for EndHandle

Source§

impl NonTerminalHandle for EureBindingsHandle

Source§

impl NonTerminalHandle for EureHandle

Source§

impl NonTerminalHandle for EureOptHandle

Source§

impl NonTerminalHandle for EureSectionsHandle

Source§

impl NonTerminalHandle for ExtHandle

Source§

impl NonTerminalHandle for ExtensionNameSpaceHandle

Source§

impl NonTerminalHandle for FalseHandle

Source§

impl NonTerminalHandle for FloatHandle

Source§

impl NonTerminalHandle for GrammarNewlineHandle

Source§

impl NonTerminalHandle for HoleHandle

Source§

impl NonTerminalHandle for IdentHandle

Source§

impl NonTerminalHandle for InfHandle

Source§

impl NonTerminalHandle for InlineCode1Handle

Source§

impl NonTerminalHandle for InlineCode2Handle

Source§

impl NonTerminalHandle for InlineCode2ListGroupHandle

Source§

impl NonTerminalHandle for InlineCode2ListHandle

Source§

impl NonTerminalHandle for InlineCodeEnd2Handle

Source§

impl NonTerminalHandle for InlineCodeHandle

Source§

impl NonTerminalHandle for InlineCodeStart2Handle

Source§

impl NonTerminalHandle for IntegerHandle

Source§

impl NonTerminalHandle for KeyBaseHandle

Source§

impl NonTerminalHandle for KeyHandle

Source§

impl NonTerminalHandle for KeyIdentHandle

Source§

impl NonTerminalHandle for KeyOptHandle

Source§

impl NonTerminalHandle for KeyTupleElementsHandle

Source§

impl NonTerminalHandle for KeyTupleElementsOptHandle

Source§

impl NonTerminalHandle for KeyTupleElementsTailHandle

Source§

impl NonTerminalHandle for KeyTupleElementsTailOptHandle

Source§

impl NonTerminalHandle for KeyTupleHandle

Source§

impl NonTerminalHandle for KeyTupleOptHandle

Source§

impl NonTerminalHandle for KeyValueHandle

Source§

impl NonTerminalHandle for KeysHandle

Source§

impl NonTerminalHandle for KeysListHandle

Source§

impl NonTerminalHandle for LParenHandle

Source§

impl NonTerminalHandle for MapBindHandle

Source§

impl NonTerminalHandle for NaNHandle

Source§

impl NonTerminalHandle for NoBacktickHandle

Source§

impl NonTerminalHandle for NoBacktickInlineHandle

Source§

impl NonTerminalHandle for NullHandle

Source§

impl NonTerminalHandle for NumberHandle

Source§

impl NonTerminalHandle for ObjectHandle

Source§

impl NonTerminalHandle for ObjectListHandle

Source§

impl NonTerminalHandle for ObjectOpt0Handle

Source§

impl NonTerminalHandle for ObjectOpt1Handle

Source§

impl NonTerminalHandle for ObjectOptHandle

Source§

impl NonTerminalHandle for RParenHandle

Source§

impl NonTerminalHandle for RootHandle

Source§

impl NonTerminalHandle for SectionBindingHandle

Source§

impl NonTerminalHandle for SectionBodyHandle

Source§

impl NonTerminalHandle for SectionBodyListHandle

Source§

impl NonTerminalHandle for SectionBodyOptHandle

Source§

impl NonTerminalHandle for SectionHandle

Source§

impl NonTerminalHandle for StrHandle

Source§

impl NonTerminalHandle for StringsHandle

Source§

impl NonTerminalHandle for StringsListHandle

Source§

impl NonTerminalHandle for TextBindingHandle

Source§

impl NonTerminalHandle for TextBindingOpt0Handle

Source§

impl NonTerminalHandle for TextBindingOptHandle

Source§

impl NonTerminalHandle for TextHandle

Source§

impl NonTerminalHandle for TextStartHandle

Source§

impl NonTerminalHandle for TrueHandle

Source§

impl NonTerminalHandle for TupleElementsHandle

Source§

impl NonTerminalHandle for TupleElementsOptHandle

Source§

impl NonTerminalHandle for TupleElementsTailHandle

Source§

impl NonTerminalHandle for TupleElementsTailOptHandle

Source§

impl NonTerminalHandle for TupleHandle

Source§

impl NonTerminalHandle for TupleIndexHandle

Source§

impl NonTerminalHandle for TupleOptHandle

Source§

impl NonTerminalHandle for ValueBindingHandle

Source§

impl NonTerminalHandle for ValueHandle

Source§

impl NonTerminalHandle for WsHandle