pub trait AstVisitor {
type AdditionalInput: Default;
type Output: Default;
Show 37 methods
// Provided methods
fn visit_type(&mut self, input: &Type) { ... }
fn visit_array_type(&mut self, input: &ArrayType) { ... }
fn visit_composite_type(&mut self, input: &CompositeType) { ... }
fn visit_future_type(&mut self, input: &FutureType) { ... }
fn visit_mapping_type(&mut self, input: &MappingType) { ... }
fn visit_tuple_type(&mut self, input: &TupleType) { ... }
fn visit_expression(
&mut self,
input: &Expression,
additional: &Self::AdditionalInput,
) -> Self::Output { ... }
fn visit_array_access(
&mut self,
input: &ArrayAccess,
additional: &Self::AdditionalInput,
) -> Self::Output { ... }
fn visit_member_access(
&mut self,
input: &MemberAccess,
additional: &Self::AdditionalInput,
) -> Self::Output { ... }
fn visit_tuple_access(
&mut self,
input: &TupleAccess,
additional: &Self::AdditionalInput,
) -> Self::Output { ... }
fn visit_array(
&mut self,
input: &ArrayExpression,
additional: &Self::AdditionalInput,
) -> Self::Output { ... }
fn visit_associated_constant(
&mut self,
_input: &AssociatedConstantExpression,
_additional: &Self::AdditionalInput,
) -> Self::Output { ... }
fn visit_associated_function(
&mut self,
input: &AssociatedFunctionExpression,
_additional: &Self::AdditionalInput,
) -> Self::Output { ... }
fn visit_async(
&mut self,
input: &AsyncExpression,
_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_path(
&mut self,
_input: &Path,
_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_repeat(
&mut self,
input: &RepeatExpression,
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 { ... }
fn visit_statement(&mut self, input: &Statement) { ... }
fn visit_assert(&mut self, input: &AssertStatement) { ... }
fn visit_assign(&mut self, input: &AssignStatement) { ... }
fn visit_block(&mut self, input: &Block) { ... }
fn visit_conditional(&mut self, input: &ConditionalStatement) { ... }
fn visit_const(&mut self, input: &ConstDeclaration) { ... }
fn visit_definition(&mut self, input: &DefinitionStatement) { ... }
fn visit_expression_statement(&mut self, input: &ExpressionStatement) { ... }
fn visit_iteration(&mut self, input: &IterationStatement) { ... }
fn visit_return(&mut self, input: &ReturnStatement) { ... }
}
Expand description
A Visitor trait for types in the AST.