Trait badder_lang::Overseer

source ·
pub trait Overseer {
    // Required methods
    fn oversee(
        &mut self,
        stack: &[FxIndexMap<Token, FrameData>],
        ast: &Ast,
        current_scope: usize,
        stack_key: StackKey
    ) -> Result<(), ()>;
    fn external_function_signatures(&self) -> &[Token];
    fn call_external_function(
        &mut self,
        id: Token,
        args: Vec<(Int, IntFlag)>
    ) -> Result<(Int, IntFlag), String>;

    // Provided method
    fn oversee_after(
        &mut self,
        _stack: &[FxIndexMap<Token, FrameData>],
        _ast: &Ast
    ) { ... }
}

Required Methods§

source

fn oversee( &mut self, stack: &[FxIndexMap<Token, FrameData>], ast: &Ast, current_scope: usize, stack_key: StackKey ) -> Result<(), ()>

source

fn external_function_signatures(&self) -> &[Token]

source

fn call_external_function( &mut self, id: Token, args: Vec<(Int, IntFlag)> ) -> Result<(Int, IntFlag), String>

Provided Methods§

source

fn oversee_after(&mut self, _stack: &[FxIndexMap<Token, FrameData>], _ast: &Ast)

Implementors§