pub trait YggdrasilNode: Clone + Debug {
    type Rule: YggdrasilRule;

    // Provided methods
    fn get_rule<R>(&self) -> Option<Self::Rule> { ... }
    fn get_range(&self) -> Option<Range<usize>> { ... }
    fn from_cst(
        tree: TokenTree<'_, Self::Rule>
    ) -> Result<Self, YggdrasilError<Self::Rule>> { ... }
    fn from_pair(
        pair: TokenPair<'_, Self::Rule>
    ) -> Result<Self, YggdrasilError<Self::Rule>> { ... }
}
Expand description

A typed ast node

Required Associated Types§

source

type Rule: YggdrasilRule

Specify the rules of this language

Provided Methods§

source

fn get_rule<R>(&self) -> Option<Self::Rule>

get rule

source

fn get_range(&self) -> Option<Range<usize>>

source

fn from_cst( tree: TokenTree<'_, Self::Rule> ) -> Result<Self, YggdrasilError<Self::Rule>>

from

source

fn from_pair( pair: TokenPair<'_, Self::Rule> ) -> Result<Self, YggdrasilError<Self::Rule>>

from

Object Safety§

This trait is not object safe.

Implementors§

source§

impl YggdrasilNode for AtomicNode

source§

impl YggdrasilNode for BooleanNode

source§

impl YggdrasilNode for ElementNode

source§

impl YggdrasilNode for InfixNode

source§

impl YggdrasilNode for NumberNode

source§

impl YggdrasilNode for PatternNode

source§

impl YggdrasilNode for PrefixNode

source§

impl YggdrasilNode for SpaceControlNode

source§

impl YggdrasilNode for StringNode

source§

impl YggdrasilNode for SuffixNode

source§

impl YggdrasilNode for TextElementNode

source§

impl YggdrasilNode for BarePatternNode

source§

impl YggdrasilNode for BinNode

source§

impl YggdrasilNode for DigitsNode

source§

impl YggdrasilNode for ExportItemNode

source§

impl YggdrasilNode for ExpressionNode

source§

impl YggdrasilNode for ExpressionRestNode

source§

impl YggdrasilNode for ForBeginNode

source§

impl YggdrasilNode for ForElseNode

source§

impl YggdrasilNode for ForEndNode

source§

impl YggdrasilNode for HexNode

source§

impl YggdrasilNode for IdentifierNode

source§

impl YggdrasilNode for IfBeginNode

source§

impl YggdrasilNode for IfElseIfNode

source§

impl YggdrasilNode for IfElseNode

source§

impl YggdrasilNode for IfEndNode

source§

impl YggdrasilNode for KwByNode

source§

impl YggdrasilNode for KwClassNode

source§

impl YggdrasilNode for KwElseNode

source§

impl YggdrasilNode for KwEndNode

source§

impl YggdrasilNode for KwExportNode

source§

impl YggdrasilNode for KwForNode

source§

impl YggdrasilNode for KwIfNode

source§

impl YggdrasilNode for KwInNode

source§

impl YggdrasilNode for KwToNode

source§

impl YggdrasilNode for KwTraitNode

source§

impl YggdrasilNode for NamepathFreeNode

source§

impl YggdrasilNode for NamepathNode

source§

impl YggdrasilNode for OctNode

source§

impl YggdrasilNode for RootNode

source§

impl YggdrasilNode for TemplateENode

source§

impl YggdrasilNode for TemplateExportNode

source§

impl YggdrasilNode for TemplateForNode

source§

impl YggdrasilNode for TemplateIfNode

source§

impl YggdrasilNode for TemplateLNode

source§

impl YggdrasilNode for TemplateRNode

source§

impl YggdrasilNode for TermNode

source§

impl YggdrasilNode for TextManyNode

source§

impl YggdrasilNode for TextSpaceNode

source§

impl YggdrasilNode for TextWordNode

source§

impl YggdrasilNode for UnitNode

source§

impl YggdrasilNode for WhiteSpaceNode