Skip to main content

AST

Trait AST 

Source
pub trait AST<'input> {
    // Required methods
    fn span(&self) -> Range<usize> ⓘ;
    fn take_value(
        &self,
        section_name_stack: &mut Vec<(Cow<'input, str>, Range<usize>, Range<usize>, bool), &Bump>,
        validator: &mut ValueTypeChecker<'_, '_, '_, 'input, 'input>,
    );
    fn take_token(
        &self,
        tokens: &mut BTreeMap<usize, (ASTTokenKind, Range<usize>)>,
    );
    fn take_formatter_token_space(&self, tokens: &mut Vec<FormatterTokenInfo>);
}

Required Methods§

Source

fn span(&self) -> Range<usize> ⓘ

UTF-8 byte span

Source

fn take_value( &self, section_name_stack: &mut Vec<(Cow<'input, str>, Range<usize>, Range<usize>, bool), &Bump>, validator: &mut ValueTypeChecker<'_, '_, '_, 'input, 'input>, )

Source

fn take_token(&self, tokens: &mut BTreeMap<usize, (ASTTokenKind, Range<usize>)>)

Source

fn take_formatter_token_space(&self, tokens: &mut Vec<FormatterTokenInfo>)

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'input> AST<'input> for ArrayValueAST<'input>

Source§

impl<'input> AST<'input> for InlineSectionAST<'input>

Source§

impl<'input> AST<'input> for KeyValueAST<'input>

Source§

impl<'input> AST<'input> for LanguageAST<'input>

Source§

impl<'input> AST<'input> for LiteralSetAST<'input>

Source§

impl<'input> AST<'input> for SectionAST<'input>

Source§

impl<'input> AST<'input> for ValueAST<'input>