leo_ast::passes::visitor

Trait ExpressionVisitor

Source
pub trait ExpressionVisitor {
    type AdditionalInput: Default;
    type Output: Default;

Show 15 methods // Provided methods fn visit_expression( &mut self, input: &Expression, additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_access( &mut self, input: &AccessExpression, additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_array( &mut self, input: &ArrayExpression, additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_binary( &mut self, input: &BinaryExpression, additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_call( &mut self, input: &CallExpression, additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_cast( &mut self, input: &CastExpression, additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_struct_init( &mut self, input: &StructExpression, additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_err( &mut self, _input: &ErrExpression, _additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_identifier( &mut self, _input: &Identifier, _additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_literal( &mut self, _input: &Literal, _additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_locator( &mut self, _input: &LocatorExpression, _additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_ternary( &mut self, input: &TernaryExpression, additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_tuple( &mut self, input: &TupleExpression, additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_unary( &mut self, input: &UnaryExpression, additional: &Self::AdditionalInput, ) -> Self::Output { ... } fn visit_unit( &mut self, _input: &UnitExpression, _additional: &Self::AdditionalInput, ) -> Self::Output { ... }
}
Expand description

A Visitor trait for expressions in the AST.

Required Associated Types§

Provided Methods§

Source

fn visit_expression( &mut self, input: &Expression, additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_access( &mut self, input: &AccessExpression, additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_array( &mut self, input: &ArrayExpression, additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_binary( &mut self, input: &BinaryExpression, additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_call( &mut self, input: &CallExpression, additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_cast( &mut self, input: &CastExpression, additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_struct_init( &mut self, input: &StructExpression, additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_err( &mut self, _input: &ErrExpression, _additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_identifier( &mut self, _input: &Identifier, _additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_literal( &mut self, _input: &Literal, _additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_locator( &mut self, _input: &LocatorExpression, _additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_ternary( &mut self, input: &TernaryExpression, additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_tuple( &mut self, input: &TupleExpression, additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_unary( &mut self, input: &UnaryExpression, additional: &Self::AdditionalInput, ) -> Self::Output

Source

fn visit_unit( &mut self, _input: &UnitExpression, _additional: &Self::AdditionalInput, ) -> Self::Output

Implementors§