Trait leo_asg::reducer::ReconstructingReducerExpression[][src]

pub trait ReconstructingReducerExpression<'a> {
    fn reduce_expression(
        &mut self,
        input: &'a Expression<'a>,
        value: Expression<'a>
    ) -> Expression<'a> { ... }
fn reduce_array_access(
        &mut self,
        input: ArrayAccessExpression<'a>,
        array: &'a Expression<'a>,
        index: &'a Expression<'a>
    ) -> Expression<'a> { ... }
fn reduce_array_init(
        &mut self,
        input: ArrayInitExpression<'a>,
        element: &'a Expression<'a>
    ) -> Expression<'a> { ... }
fn reduce_array_inline(
        &mut self,
        input: ArrayInlineExpression<'a>,
        elements: Vec<(&'a Expression<'a>, bool)>
    ) -> Expression<'a> { ... }
fn reduce_array_range_access(
        &mut self,
        input: ArrayRangeAccessExpression<'a>,
        array: &'a Expression<'a>,
        left: Option<&'a Expression<'a>>,
        right: Option<&'a Expression<'a>>
    ) -> Expression<'a> { ... }
fn reduce_binary(
        &mut self,
        input: BinaryExpression<'a>,
        left: &'a Expression<'a>,
        right: &'a Expression<'a>
    ) -> Expression<'a> { ... }
fn reduce_call(
        &mut self,
        input: CallExpression<'a>,
        target: Option<&'a Expression<'a>>,
        arguments: Vec<&'a Expression<'a>>
    ) -> Expression<'a> { ... }
fn reduce_circuit_access(
        &mut self,
        input: CircuitAccessExpression<'a>,
        target: Option<&'a Expression<'a>>
    ) -> Expression<'a> { ... }
fn reduce_circuit_init(
        &mut self,
        input: CircuitInitExpression<'a>,
        values: Vec<(Identifier, &'a Expression<'a>)>
    ) -> Expression<'a> { ... }
fn reduce_ternary_expression(
        &mut self,
        input: TernaryExpression<'a>,
        condition: &'a Expression<'a>,
        if_true: &'a Expression<'a>,
        if_false: &'a Expression<'a>
    ) -> Expression<'a> { ... }
fn reduce_cast_expression(
        &mut self,
        input: CastExpression<'a>,
        inner: &'a Expression<'a>
    ) -> Expression<'a> { ... }
fn reduce_constant(&mut self, input: Constant<'a>) -> Expression<'a> { ... }
fn reduce_tuple_access(
        &mut self,
        input: TupleAccessExpression<'a>,
        tuple_ref: &'a Expression<'a>
    ) -> Expression<'a> { ... }
fn reduce_tuple_init(
        &mut self,
        input: TupleInitExpression<'a>,
        values: Vec<&'a Expression<'a>>
    ) -> Expression<'a> { ... }
fn reduce_unary(
        &mut self,
        input: UnaryExpression<'a>,
        inner: &'a Expression<'a>
    ) -> Expression<'a> { ... }
fn reduce_variable_ref(&mut self, input: VariableRef<'a>) -> Expression<'a> { ... } }

Provided methods

fn reduce_expression(
    &mut self,
    input: &'a Expression<'a>,
    value: Expression<'a>
) -> Expression<'a>
[src]

fn reduce_array_access(
    &mut self,
    input: ArrayAccessExpression<'a>,
    array: &'a Expression<'a>,
    index: &'a Expression<'a>
) -> Expression<'a>
[src]

fn reduce_array_init(
    &mut self,
    input: ArrayInitExpression<'a>,
    element: &'a Expression<'a>
) -> Expression<'a>
[src]

fn reduce_array_inline(
    &mut self,
    input: ArrayInlineExpression<'a>,
    elements: Vec<(&'a Expression<'a>, bool)>
) -> Expression<'a>
[src]

fn reduce_array_range_access(
    &mut self,
    input: ArrayRangeAccessExpression<'a>,
    array: &'a Expression<'a>,
    left: Option<&'a Expression<'a>>,
    right: Option<&'a Expression<'a>>
) -> Expression<'a>
[src]

fn reduce_binary(
    &mut self,
    input: BinaryExpression<'a>,
    left: &'a Expression<'a>,
    right: &'a Expression<'a>
) -> Expression<'a>
[src]

fn reduce_call(
    &mut self,
    input: CallExpression<'a>,
    target: Option<&'a Expression<'a>>,
    arguments: Vec<&'a Expression<'a>>
) -> Expression<'a>
[src]

fn reduce_circuit_access(
    &mut self,
    input: CircuitAccessExpression<'a>,
    target: Option<&'a Expression<'a>>
) -> Expression<'a>
[src]

fn reduce_circuit_init(
    &mut self,
    input: CircuitInitExpression<'a>,
    values: Vec<(Identifier, &'a Expression<'a>)>
) -> Expression<'a>
[src]

fn reduce_ternary_expression(
    &mut self,
    input: TernaryExpression<'a>,
    condition: &'a Expression<'a>,
    if_true: &'a Expression<'a>,
    if_false: &'a Expression<'a>
) -> Expression<'a>
[src]

fn reduce_cast_expression(
    &mut self,
    input: CastExpression<'a>,
    inner: &'a Expression<'a>
) -> Expression<'a>
[src]

fn reduce_constant(&mut self, input: Constant<'a>) -> Expression<'a>[src]

fn reduce_tuple_access(
    &mut self,
    input: TupleAccessExpression<'a>,
    tuple_ref: &'a Expression<'a>
) -> Expression<'a>
[src]

fn reduce_tuple_init(
    &mut self,
    input: TupleInitExpression<'a>,
    values: Vec<&'a Expression<'a>>
) -> Expression<'a>
[src]

fn reduce_unary(
    &mut self,
    input: UnaryExpression<'a>,
    inner: &'a Expression<'a>
) -> Expression<'a>
[src]

fn reduce_variable_ref(&mut self, input: VariableRef<'a>) -> Expression<'a>[src]

Loading content...

Implementors

Loading content...