Trait yggdrasil_rt::YggdrasilNode
source · pub trait YggdrasilNode<'i>: Clone + Debug {
type Rule: YggdrasilRule;
// Required methods
fn from_pair(
pair: TokenPair<'i, Self::Rule>
) -> Result<Self, YggdrasilError<Self::Rule>>;
fn get_range(&self) -> Range<usize>;
// Provided methods
fn from_str(
input: &'i str,
offset: usize
) -> Result<Self, YggdrasilError<Self::Rule>> { ... }
fn from_cst(
tree: TokenTree<'i, Self::Rule>
) -> Result<Self, YggdrasilError<Self::Rule>> { ... }
fn get_rule(&self) -> Self::Rule { ... }
fn get_str(&self) -> &'i str { ... }
fn get_chars(&self) -> Chars<'i> { ... }
}
Expand description
A typed ast node
Required Associated Types§
sourcetype Rule: YggdrasilRule
type Rule: YggdrasilRule
Specify the rules of this language
Required Methods§
Provided Methods§
fn from_str( input: &'i str, offset: usize ) -> Result<Self, YggdrasilError<Self::Rule>>
sourcefn from_cst(
tree: TokenTree<'i, Self::Rule>
) -> Result<Self, YggdrasilError<Self::Rule>>
fn from_cst( tree: TokenTree<'i, Self::Rule> ) -> Result<Self, YggdrasilError<Self::Rule>>
from
fn get_str(&self) -> &'i str
fn get_chars(&self) -> Chars<'i>
Object Safety§
This trait is not object safe.