Trait leo_asg::reducer::MonoidalReducerStatement[][src]

pub trait MonoidalReducerStatement<'a, T: Monoid>: MonoidalReducerExpression<'a, T> {
    fn reduce_statement(&mut self, input: &'a Statement<'a>, value: T) -> T { ... }
fn reduce_assign_access(
        &mut self,
        input: &AssignAccess<'a>,
        left: Option<T>,
        right: Option<T>
    ) -> T { ... }
fn reduce_assign(
        &mut self,
        input: &AssignStatement<'a>,
        accesses: Vec<T>,
        value: T
    ) -> T { ... }
fn reduce_block(
        &mut self,
        input: &BlockStatement<'a>,
        statements: Vec<T>
    ) -> T { ... }
fn reduce_conditional_statement(
        &mut self,
        input: &ConditionalStatement<'a>,
        condition: T,
        if_true: T,
        if_false: Option<T>
    ) -> T { ... }
fn reduce_formatted_string(
        &mut self,
        input: &ConsoleArgs<'a>,
        parameters: Vec<T>
    ) -> T { ... }
fn reduce_console(&mut self, input: &ConsoleStatement<'a>, argument: T) -> T { ... }
fn reduce_definition(
        &mut self,
        input: &DefinitionStatement<'a>,
        value: T
    ) -> T { ... }
fn reduce_expression_statement(
        &mut self,
        input: &ExpressionStatement<'a>,
        expression: T
    ) -> T { ... }
fn reduce_iteration(
        &mut self,
        input: &IterationStatement<'a>,
        start: T,
        stop: T,
        body: T
    ) -> T { ... }
fn reduce_return(&mut self, input: &ReturnStatement<'a>, value: T) -> T { ... } }

Provided methods

Implementors