pub trait VisitMut {
Show 66 methods
// Provided methods
fn visit_mut<N: Node>(&mut self, i: &mut N)
where Self: Sized { ... }
fn visit_assignment_mut(&mut self, i: &mut Assignment) { ... }
fn visit_assignments_mut(&mut self, i: &mut Assignments) { ... }
fn visit_association_mut(&mut self, i: &mut Association) { ... }
fn visit_cte_mut(&mut self, i: &mut Cte) { ... }
fn visit_expr_mut(&mut self, i: &mut Expr) { ... }
fn visit_expr_and_mut(&mut self, i: &mut ExprAnd) { ... }
fn visit_expr_any_mut(&mut self, i: &mut ExprAny) { ... }
fn visit_expr_arg_mut(&mut self, i: &mut ExprArg) { ... }
fn visit_expr_binary_op_mut(&mut self, i: &mut ExprBinaryOp) { ... }
fn visit_expr_cast_mut(&mut self, i: &mut ExprCast) { ... }
fn visit_expr_column_mut(&mut self, i: &mut ExprColumn) { ... }
fn visit_expr_default_mut(&mut self) { ... }
fn visit_expr_error_mut(&mut self, i: &mut ExprError) { ... }
fn visit_expr_exists_mut(&mut self, i: &mut ExprExists) { ... }
fn visit_expr_func_mut(&mut self, i: &mut ExprFunc) { ... }
fn visit_expr_func_count_mut(&mut self, i: &mut FuncCount) { ... }
fn visit_expr_func_last_insert_id_mut(&mut self, i: &mut FuncLastInsertId) { ... }
fn visit_expr_in_list_mut(&mut self, i: &mut ExprInList) { ... }
fn visit_expr_in_subquery_mut(&mut self, i: &mut ExprInSubquery) { ... }
fn visit_expr_is_null_mut(&mut self, i: &mut ExprIsNull) { ... }
fn visit_expr_is_variant_mut(&mut self, i: &mut ExprIsVariant) { ... }
fn visit_expr_let_mut(&mut self, i: &mut ExprLet) { ... }
fn visit_expr_map_mut(&mut self, i: &mut ExprMap) { ... }
fn visit_expr_match_mut(&mut self, i: &mut ExprMatch) { ... }
fn visit_expr_not_mut(&mut self, i: &mut ExprNot) { ... }
fn visit_expr_or_mut(&mut self, i: &mut ExprOr) { ... }
fn visit_expr_list_mut(&mut self, i: &mut ExprList) { ... }
fn visit_expr_record_mut(&mut self, i: &mut ExprRecord) { ... }
fn visit_expr_reference_mut(&mut self, i: &mut ExprReference) { ... }
fn visit_expr_set_mut(&mut self, i: &mut ExprSet) { ... }
fn visit_expr_set_op_mut(&mut self, i: &mut ExprSetOp) { ... }
fn visit_expr_stmt_mut(&mut self, i: &mut ExprStmt) { ... }
fn visit_filter_mut(&mut self, i: &mut Filter) { ... }
fn visit_condition_mut(&mut self, i: &mut Condition) { ... }
fn visit_expr_project_mut(&mut self, i: &mut ExprProject) { ... }
fn visit_insert_target_mut(&mut self, i: &mut InsertTarget) { ... }
fn visit_join_mut(&mut self, i: &mut Join) { ... }
fn visit_limit_mut(&mut self, i: &mut Limit) { ... }
fn visit_limit_cursor_mut(&mut self, i: &mut LimitCursor) { ... }
fn visit_limit_offset_mut(&mut self, i: &mut LimitOffset) { ... }
fn visit_order_by_mut(&mut self, i: &mut OrderBy) { ... }
fn visit_order_by_expr_mut(&mut self, i: &mut OrderByExpr) { ... }
fn visit_path_mut(&mut self, i: &mut Path) { ... }
fn visit_projection_mut(&mut self, i: &mut Projection) { ... }
fn visit_returning_mut(&mut self, i: &mut Returning) { ... }
fn visit_source_mut(&mut self, i: &mut Source) { ... }
fn visit_source_model_mut(&mut self, i: &mut SourceModel) { ... }
fn visit_source_table_mut(&mut self, i: &mut SourceTable) { ... }
fn visit_source_table_id_mut(&mut self, i: &mut SourceTableId) { ... }
fn visit_stmt_mut(&mut self, i: &mut Statement) { ... }
fn visit_stmt_delete_mut(&mut self, i: &mut Delete) { ... }
fn visit_stmt_insert_mut(&mut self, i: &mut Insert) { ... }
fn visit_stmt_query_mut(&mut self, i: &mut Query) { ... }
fn visit_stmt_select_mut(&mut self, i: &mut Select) { ... }
fn visit_stmt_update_mut(&mut self, i: &mut Update) { ... }
fn visit_table_derived_mut(&mut self, i: &mut TableDerived) { ... }
fn visit_table_ref_mut(&mut self, i: &mut TableRef) { ... }
fn visit_table_factor_mut(&mut self, i: &mut TableFactor) { ... }
fn visit_table_with_joins_mut(&mut self, i: &mut TableWithJoins) { ... }
fn visit_type_mut(&mut self, i: &mut Type) { ... }
fn visit_update_target_mut(&mut self, i: &mut UpdateTarget) { ... }
fn visit_value_mut(&mut self, i: &mut Value) { ... }
fn visit_value_record(&mut self, i: &mut ValueRecord) { ... }
fn visit_values_mut(&mut self, i: &mut Values) { ... }
fn visit_with_mut(&mut self, i: &mut With) { ... }
}Expand description
Mutable visitor trait for the statement AST.
Implement this trait to walk and modify the AST in place. Each
visit_*_mut method has a default implementation that recurses into
child nodes via the corresponding free function (e.g.,
visit_expr_mut). Override specific methods to transform nodes of
interest.
Companion helpers:
for_each_expr_mut– visits every expression node in post-order.walk_expr_scoped_mut– walks expressions while trackingLet/Mapscope depth.
§Examples
use toasty_core::stmt::{visit_mut, Expr, Value, Node};
let mut expr = Expr::from(Value::from(42_i64));
visit_mut::for_each_expr_mut(&mut expr, |e| {
// transform expressions in place
});Provided Methods§
Sourcefn visit_mut<N: Node>(&mut self, i: &mut N)where
Self: Sized,
fn visit_mut<N: Node>(&mut self, i: &mut N)where
Self: Sized,
Dispatches to the appropriate visit_*_mut method via Node::visit_mut.
Sourcefn visit_assignment_mut(&mut self, i: &mut Assignment)
fn visit_assignment_mut(&mut self, i: &mut Assignment)
Visits an Assignment node mutably.
The default implementation delegates to visit_assignment_mut.
Sourcefn visit_assignments_mut(&mut self, i: &mut Assignments)
fn visit_assignments_mut(&mut self, i: &mut Assignments)
Visits an Assignments node mutably.
The default implementation delegates to visit_assignments_mut.
Sourcefn visit_association_mut(&mut self, i: &mut Association)
fn visit_association_mut(&mut self, i: &mut Association)
Visits an Association node mutably.
The default implementation delegates to visit_association_mut.
Sourcefn visit_cte_mut(&mut self, i: &mut Cte)
fn visit_cte_mut(&mut self, i: &mut Cte)
Visits a Cte (common table expression) node mutably.
The default implementation delegates to visit_cte_mut.
Sourcefn visit_expr_mut(&mut self, i: &mut Expr)
fn visit_expr_mut(&mut self, i: &mut Expr)
Visits an Expr node mutably.
The default implementation delegates to visit_expr_mut.
Sourcefn visit_expr_and_mut(&mut self, i: &mut ExprAnd)
fn visit_expr_and_mut(&mut self, i: &mut ExprAnd)
Visits an ExprAnd node mutably.
The default implementation delegates to visit_expr_and_mut.
Sourcefn visit_expr_any_mut(&mut self, i: &mut ExprAny)
fn visit_expr_any_mut(&mut self, i: &mut ExprAny)
Visits an ExprAny node mutably.
The default implementation delegates to visit_expr_any_mut.
Sourcefn visit_expr_arg_mut(&mut self, i: &mut ExprArg)
fn visit_expr_arg_mut(&mut self, i: &mut ExprArg)
Visits an ExprArg node mutably.
The default implementation delegates to visit_expr_arg_mut.
Sourcefn visit_expr_binary_op_mut(&mut self, i: &mut ExprBinaryOp)
fn visit_expr_binary_op_mut(&mut self, i: &mut ExprBinaryOp)
Visits an ExprBinaryOp node mutably.
The default implementation delegates to visit_expr_binary_op_mut.
Sourcefn visit_expr_cast_mut(&mut self, i: &mut ExprCast)
fn visit_expr_cast_mut(&mut self, i: &mut ExprCast)
Visits an ExprCast node mutably.
The default implementation delegates to visit_expr_cast_mut.
Sourcefn visit_expr_column_mut(&mut self, i: &mut ExprColumn)
fn visit_expr_column_mut(&mut self, i: &mut ExprColumn)
Visits an ExprColumn node mutably.
The default implementation delegates to visit_expr_column_mut.
Sourcefn visit_expr_default_mut(&mut self)
fn visit_expr_default_mut(&mut self)
Visits a default expression node mutably.
The default implementation delegates to visit_expr_default_mut.
Sourcefn visit_expr_error_mut(&mut self, i: &mut ExprError)
fn visit_expr_error_mut(&mut self, i: &mut ExprError)
Visits an ExprError node mutably.
The default implementation delegates to visit_expr_error_mut.
Sourcefn visit_expr_exists_mut(&mut self, i: &mut ExprExists)
fn visit_expr_exists_mut(&mut self, i: &mut ExprExists)
Visits an ExprExists node mutably.
The default implementation delegates to visit_expr_exists_mut.
Sourcefn visit_expr_func_mut(&mut self, i: &mut ExprFunc)
fn visit_expr_func_mut(&mut self, i: &mut ExprFunc)
Visits an ExprFunc node mutably.
The default implementation delegates to visit_expr_func_mut.
Sourcefn visit_expr_func_count_mut(&mut self, i: &mut FuncCount)
fn visit_expr_func_count_mut(&mut self, i: &mut FuncCount)
Visits a FuncCount node mutably.
The default implementation delegates to visit_expr_func_count_mut.
Sourcefn visit_expr_func_last_insert_id_mut(&mut self, i: &mut FuncLastInsertId)
fn visit_expr_func_last_insert_id_mut(&mut self, i: &mut FuncLastInsertId)
Visits a FuncLastInsertId node mutably.
The default implementation delegates to visit_expr_func_last_insert_id_mut.
Sourcefn visit_expr_in_list_mut(&mut self, i: &mut ExprInList)
fn visit_expr_in_list_mut(&mut self, i: &mut ExprInList)
Visits an ExprInList node mutably.
The default implementation delegates to visit_expr_in_list_mut.
Sourcefn visit_expr_in_subquery_mut(&mut self, i: &mut ExprInSubquery)
fn visit_expr_in_subquery_mut(&mut self, i: &mut ExprInSubquery)
Visits an ExprInSubquery node mutably.
The default implementation delegates to visit_expr_in_subquery_mut.
Sourcefn visit_expr_is_null_mut(&mut self, i: &mut ExprIsNull)
fn visit_expr_is_null_mut(&mut self, i: &mut ExprIsNull)
Visits an ExprIsNull node mutably.
The default implementation delegates to visit_expr_is_null_mut.
Sourcefn visit_expr_is_variant_mut(&mut self, i: &mut ExprIsVariant)
fn visit_expr_is_variant_mut(&mut self, i: &mut ExprIsVariant)
Visits an ExprIsVariant node mutably.
The default implementation delegates to visit_expr_is_variant_mut.
Sourcefn visit_expr_let_mut(&mut self, i: &mut ExprLet)
fn visit_expr_let_mut(&mut self, i: &mut ExprLet)
Visits an ExprLet node mutably.
The default implementation delegates to visit_expr_let_mut.
Sourcefn visit_expr_map_mut(&mut self, i: &mut ExprMap)
fn visit_expr_map_mut(&mut self, i: &mut ExprMap)
Visits an ExprMap node mutably.
The default implementation delegates to visit_expr_map_mut.
Sourcefn visit_expr_match_mut(&mut self, i: &mut ExprMatch)
fn visit_expr_match_mut(&mut self, i: &mut ExprMatch)
Visits an ExprMatch node mutably.
The default implementation delegates to visit_expr_match_mut.
Sourcefn visit_expr_not_mut(&mut self, i: &mut ExprNot)
fn visit_expr_not_mut(&mut self, i: &mut ExprNot)
Visits an ExprNot node mutably.
The default implementation delegates to visit_expr_not_mut.
Sourcefn visit_expr_or_mut(&mut self, i: &mut ExprOr)
fn visit_expr_or_mut(&mut self, i: &mut ExprOr)
Visits an ExprOr node mutably.
The default implementation delegates to visit_expr_or_mut.
Sourcefn visit_expr_list_mut(&mut self, i: &mut ExprList)
fn visit_expr_list_mut(&mut self, i: &mut ExprList)
Visits an ExprList node mutably.
The default implementation delegates to visit_expr_list_mut.
Sourcefn visit_expr_record_mut(&mut self, i: &mut ExprRecord)
fn visit_expr_record_mut(&mut self, i: &mut ExprRecord)
Visits an ExprRecord node mutably.
The default implementation delegates to visit_expr_record_mut.
Sourcefn visit_expr_reference_mut(&mut self, i: &mut ExprReference)
fn visit_expr_reference_mut(&mut self, i: &mut ExprReference)
Visits an ExprReference node mutably.
The default implementation delegates to visit_expr_reference_mut.
Sourcefn visit_expr_set_mut(&mut self, i: &mut ExprSet)
fn visit_expr_set_mut(&mut self, i: &mut ExprSet)
Visits an ExprSet node mutably.
The default implementation delegates to visit_expr_set_mut.
Sourcefn visit_expr_set_op_mut(&mut self, i: &mut ExprSetOp)
fn visit_expr_set_op_mut(&mut self, i: &mut ExprSetOp)
Visits an ExprSetOp node mutably.
The default implementation delegates to visit_expr_set_op_mut.
Sourcefn visit_expr_stmt_mut(&mut self, i: &mut ExprStmt)
fn visit_expr_stmt_mut(&mut self, i: &mut ExprStmt)
Visits an ExprStmt node mutably.
The default implementation delegates to visit_expr_stmt_mut.
Sourcefn visit_filter_mut(&mut self, i: &mut Filter)
fn visit_filter_mut(&mut self, i: &mut Filter)
Visits a Filter node mutably.
The default implementation delegates to visit_filter_mut.
Sourcefn visit_condition_mut(&mut self, i: &mut Condition)
fn visit_condition_mut(&mut self, i: &mut Condition)
Visits a Condition node mutably.
The default implementation delegates to visit_condition_mut.
Sourcefn visit_expr_project_mut(&mut self, i: &mut ExprProject)
fn visit_expr_project_mut(&mut self, i: &mut ExprProject)
Visits an ExprProject node mutably.
The default implementation delegates to visit_expr_project_mut.
Sourcefn visit_insert_target_mut(&mut self, i: &mut InsertTarget)
fn visit_insert_target_mut(&mut self, i: &mut InsertTarget)
Visits an InsertTarget node mutably.
The default implementation delegates to visit_insert_target_mut.
Sourcefn visit_join_mut(&mut self, i: &mut Join)
fn visit_join_mut(&mut self, i: &mut Join)
Visits a Join node mutably.
The default implementation delegates to visit_join_mut.
Sourcefn visit_limit_mut(&mut self, i: &mut Limit)
fn visit_limit_mut(&mut self, i: &mut Limit)
Visits a Limit node mutably.
The default implementation delegates to visit_limit_mut.
Sourcefn visit_limit_cursor_mut(&mut self, i: &mut LimitCursor)
fn visit_limit_cursor_mut(&mut self, i: &mut LimitCursor)
Visits a LimitCursor node mutably.
The default implementation delegates to visit_limit_cursor_mut.
Sourcefn visit_limit_offset_mut(&mut self, i: &mut LimitOffset)
fn visit_limit_offset_mut(&mut self, i: &mut LimitOffset)
Visits a LimitOffset node mutably.
The default implementation delegates to visit_limit_offset_mut.
Sourcefn visit_order_by_mut(&mut self, i: &mut OrderBy)
fn visit_order_by_mut(&mut self, i: &mut OrderBy)
Visits an OrderBy node mutably.
The default implementation delegates to visit_order_by_mut.
Sourcefn visit_order_by_expr_mut(&mut self, i: &mut OrderByExpr)
fn visit_order_by_expr_mut(&mut self, i: &mut OrderByExpr)
Visits an OrderByExpr node mutably.
The default implementation delegates to visit_order_by_expr_mut.
Sourcefn visit_path_mut(&mut self, i: &mut Path)
fn visit_path_mut(&mut self, i: &mut Path)
Visits a Path node mutably.
The default implementation delegates to visit_path_mut.
Sourcefn visit_projection_mut(&mut self, i: &mut Projection)
fn visit_projection_mut(&mut self, i: &mut Projection)
Visits a Projection node mutably.
The default implementation delegates to visit_projection_mut.
Sourcefn visit_returning_mut(&mut self, i: &mut Returning)
fn visit_returning_mut(&mut self, i: &mut Returning)
Visits a Returning node mutably.
The default implementation delegates to visit_returning_mut.
Sourcefn visit_source_mut(&mut self, i: &mut Source)
fn visit_source_mut(&mut self, i: &mut Source)
Visits a Source node mutably.
The default implementation delegates to visit_source_mut.
Sourcefn visit_source_model_mut(&mut self, i: &mut SourceModel)
fn visit_source_model_mut(&mut self, i: &mut SourceModel)
Visits a SourceModel node mutably.
The default implementation delegates to visit_source_model_mut.
Sourcefn visit_source_table_mut(&mut self, i: &mut SourceTable)
fn visit_source_table_mut(&mut self, i: &mut SourceTable)
Visits a SourceTable node mutably.
The default implementation delegates to visit_source_table_mut.
Sourcefn visit_source_table_id_mut(&mut self, i: &mut SourceTableId)
fn visit_source_table_id_mut(&mut self, i: &mut SourceTableId)
Visits a SourceTableId node mutably.
The default implementation delegates to visit_source_table_id_mut.
Sourcefn visit_stmt_mut(&mut self, i: &mut Statement)
fn visit_stmt_mut(&mut self, i: &mut Statement)
Visits a Statement node mutably.
The default implementation delegates to visit_stmt_mut.
Sourcefn visit_stmt_delete_mut(&mut self, i: &mut Delete)
fn visit_stmt_delete_mut(&mut self, i: &mut Delete)
Visits a Delete statement node mutably.
The default implementation delegates to visit_stmt_delete_mut.
Sourcefn visit_stmt_insert_mut(&mut self, i: &mut Insert)
fn visit_stmt_insert_mut(&mut self, i: &mut Insert)
Visits an Insert statement node mutably.
The default implementation delegates to visit_stmt_insert_mut.
Sourcefn visit_stmt_query_mut(&mut self, i: &mut Query)
fn visit_stmt_query_mut(&mut self, i: &mut Query)
Visits a Query statement node mutably.
The default implementation delegates to visit_stmt_query_mut.
Sourcefn visit_stmt_select_mut(&mut self, i: &mut Select)
fn visit_stmt_select_mut(&mut self, i: &mut Select)
Visits a Select statement node mutably.
The default implementation delegates to visit_stmt_select_mut.
Sourcefn visit_stmt_update_mut(&mut self, i: &mut Update)
fn visit_stmt_update_mut(&mut self, i: &mut Update)
Visits an Update statement node mutably.
The default implementation delegates to visit_stmt_update_mut.
Sourcefn visit_table_derived_mut(&mut self, i: &mut TableDerived)
fn visit_table_derived_mut(&mut self, i: &mut TableDerived)
Visits a TableDerived node mutably.
The default implementation delegates to visit_table_derived_mut.
Sourcefn visit_table_ref_mut(&mut self, i: &mut TableRef)
fn visit_table_ref_mut(&mut self, i: &mut TableRef)
Visits a TableRef node mutably.
The default implementation delegates to visit_table_ref_mut.
Sourcefn visit_table_factor_mut(&mut self, i: &mut TableFactor)
fn visit_table_factor_mut(&mut self, i: &mut TableFactor)
Visits a TableFactor node mutably.
The default implementation delegates to visit_table_factor_mut.
Sourcefn visit_table_with_joins_mut(&mut self, i: &mut TableWithJoins)
fn visit_table_with_joins_mut(&mut self, i: &mut TableWithJoins)
Visits a TableWithJoins node mutably.
The default implementation delegates to visit_table_with_joins_mut.
Sourcefn visit_type_mut(&mut self, i: &mut Type)
fn visit_type_mut(&mut self, i: &mut Type)
Visits a Type node mutably.
The default implementation delegates to visit_type_mut.
Sourcefn visit_update_target_mut(&mut self, i: &mut UpdateTarget)
fn visit_update_target_mut(&mut self, i: &mut UpdateTarget)
Visits an UpdateTarget node mutably.
The default implementation delegates to visit_update_target_mut.
Sourcefn visit_value_mut(&mut self, i: &mut Value)
fn visit_value_mut(&mut self, i: &mut Value)
Visits a Value node mutably.
The default implementation delegates to visit_value_mut.
Sourcefn visit_value_record(&mut self, i: &mut ValueRecord)
fn visit_value_record(&mut self, i: &mut ValueRecord)
Visits a ValueRecord node mutably.
The default implementation delegates to visit_value_record.
Sourcefn visit_values_mut(&mut self, i: &mut Values)
fn visit_values_mut(&mut self, i: &mut Values)
Visits a Values node mutably.
The default implementation delegates to visit_values_mut.
Sourcefn visit_with_mut(&mut self, i: &mut With)
fn visit_with_mut(&mut self, i: &mut With)
Visits a With node mutably.
The default implementation delegates to visit_with_mut.