Skip to main content

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 Backtick2Handle

Source§

impl NonTerminalHandle for Backtick3Handle

Source§

impl NonTerminalHandle for Backtick4Handle

Source§

impl NonTerminalHandle for Backtick5Handle

Source§

impl NonTerminalHandle for BacktickDelimHandle

Source§

impl NonTerminalHandle for BeginHandle

Source§

impl NonTerminalHandle for BindHandle

Source§

impl NonTerminalHandle for BindingHandle

Source§

impl NonTerminalHandle for BindingRhsHandle

Source§

impl NonTerminalHandle for BlockBodyHandle

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 DelimCode1Handle

Source§

impl NonTerminalHandle for DelimCode1ListGroupHandle

Source§

impl NonTerminalHandle for DelimCode1ListHandle

Source§

impl NonTerminalHandle for DelimCode2Handle

Source§

impl NonTerminalHandle for DelimCode2ListGroupHandle

Source§

impl NonTerminalHandle for DelimCode2ListHandle

Source§

impl NonTerminalHandle for DelimCode3Handle

Source§

impl NonTerminalHandle for DelimCode3ListGroupHandle

Source§

impl NonTerminalHandle for DelimCode3ListHandle

Source§

impl NonTerminalHandle for DelimCodeEnd1Handle

Source§

impl NonTerminalHandle for DelimCodeEnd2Handle

Source§

impl NonTerminalHandle for DelimCodeEnd3Handle

Source§

impl NonTerminalHandle for DelimCodeHandle

Source§

impl NonTerminalHandle for DelimCodeStart1Handle

Source§

impl NonTerminalHandle for DelimCodeStart2Handle

Source§

impl NonTerminalHandle for DelimCodeStart3Handle

Source§

impl NonTerminalHandle for DotHandle

Source§

impl NonTerminalHandle for DotKeyHandle

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 FirstKeyHandle

Source§

impl NonTerminalHandle for FlatBodyHandle

Source§

impl NonTerminalHandle for FlatBodyListHandle

Source§

impl NonTerminalHandle for FlatRootBindingHandle

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 InlineCodeHandle

Source§

impl NonTerminalHandle for IntegerHandle

Source§

impl NonTerminalHandle for KeyHandle

Source§

impl NonTerminalHandle for KeyIdentHandle

Source§

impl NonTerminalHandle for KeyTailHandle

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 LitStr1EndHandle

Source§

impl NonTerminalHandle for LitStr1Handle

Source§

impl NonTerminalHandle for LitStr1ListGroupHandle

Source§

impl NonTerminalHandle for LitStr1ListHandle

Source§

impl NonTerminalHandle for LitStr1StartHandle

Source§

impl NonTerminalHandle for LitStr2EndHandle

Source§

impl NonTerminalHandle for LitStr2Handle

Source§

impl NonTerminalHandle for LitStr2ListGroupHandle

Source§

impl NonTerminalHandle for LitStr2ListHandle

Source§

impl NonTerminalHandle for LitStr2StartHandle

Source§

impl NonTerminalHandle for LitStr3EndHandle

Source§

impl NonTerminalHandle for LitStr3Handle

Source§

impl NonTerminalHandle for LitStr3ListGroupHandle

Source§

impl NonTerminalHandle for LitStr3ListHandle

Source§

impl NonTerminalHandle for LitStr3StartHandle

Source§

impl NonTerminalHandle for LitStrHandle

Source§

impl NonTerminalHandle for MapBindHandle

Source§

impl NonTerminalHandle for NaNHandle

Source§

impl NonTerminalHandle for NewlineBindHandle

Source§

impl NonTerminalHandle for NewlineHeadHandle

Source§

impl NonTerminalHandle for NewlineHeadOptHandle

Source§

impl NonTerminalHandle for NewlineTextStartHandle

Source§

impl NonTerminalHandle for NoBacktickHandle

Source§

impl NonTerminalHandle for NoSQuoteHandle

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 RootBindingHandle

Source§

impl NonTerminalHandle for RootHandle

Source§

impl NonTerminalHandle for RootTextBindingHandle

Source§

impl NonTerminalHandle for RootTextBindingOpt0Handle

Source§

impl NonTerminalHandle for RootTextBindingOpt1Handle

Source§

impl NonTerminalHandle for RootTextBindingOptHandle

Source§

impl NonTerminalHandle for RootValueBindingHandle

Source§

impl NonTerminalHandle for SQuoteHandle

Source§

impl NonTerminalHandle for SectionBindingHandle

Source§

impl NonTerminalHandle for SectionBodyHandle

Source§

impl NonTerminalHandle for SectionBodyOptHandle

Source§

impl NonTerminalHandle for SectionHandle

Source§

impl NonTerminalHandle for SectionHeadHandle

Source§

impl NonTerminalHandle for StrHandle

Source§

impl NonTerminalHandle for StringHandle

Source§

impl NonTerminalHandle for StringsHandle

Source§

impl NonTerminalHandle for StringsListHandle

Source§

impl NonTerminalHandle for TextBindingHandle

Source§

impl NonTerminalHandle for TextBindingOpt0Handle

Source§

impl NonTerminalHandle for TextBindingOpt1Handle

Source§

impl NonTerminalHandle for TextBindingOptHandle

Source§

impl NonTerminalHandle for TextHandle

Source§

impl NonTerminalHandle for TextStartHandle

Source§

impl NonTerminalHandle for TopLevelBindingHandle

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