Visit

Trait Visit 

Source
pub trait Visit {
Show 66 methods // Provided methods fn visit<N: Node>(&mut self, i: &N) where Self: Sized { ... } fn visit_assignment(&mut self, i: &Assignment) { ... } fn visit_assignments(&mut self, i: &Assignments) { ... } fn visit_association(&mut self, i: &Association) { ... } fn visit_cte(&mut self, i: &Cte) { ... } fn visit_expr(&mut self, i: &Expr) { ... } fn visit_expr_and(&mut self, i: &ExprAnd) { ... } fn visit_expr_any(&mut self, i: &ExprAny) { ... } fn visit_expr_arg(&mut self, i: &ExprArg) { ... } fn visit_expr_binary_op(&mut self, i: &ExprBinaryOp) { ... } fn visit_expr_cast(&mut self, i: &ExprCast) { ... } fn visit_expr_column(&mut self, i: &ExprColumn) { ... } fn visit_expr_default(&mut self) { ... } fn visit_expr_error(&mut self, i: &ExprError) { ... } fn visit_expr_exists(&mut self, i: &ExprExists) { ... } fn visit_expr_func(&mut self, i: &ExprFunc) { ... } fn visit_expr_func_count(&mut self, i: &FuncCount) { ... } fn visit_expr_func_last_insert_id(&mut self, i: &FuncLastInsertId) { ... } fn visit_expr_in_list(&mut self, i: &ExprInList) { ... } fn visit_expr_in_subquery(&mut self, i: &ExprInSubquery) { ... } fn visit_expr_is_null(&mut self, i: &ExprIsNull) { ... } fn visit_expr_is_variant(&mut self, i: &ExprIsVariant) { ... } fn visit_expr_let(&mut self, i: &ExprLet) { ... } fn visit_expr_map(&mut self, i: &ExprMap) { ... } fn visit_expr_match(&mut self, i: &ExprMatch) { ... } fn visit_expr_not(&mut self, i: &ExprNot) { ... } fn visit_expr_or(&mut self, i: &ExprOr) { ... } fn visit_expr_list(&mut self, i: &ExprList) { ... } fn visit_expr_record(&mut self, i: &ExprRecord) { ... } fn visit_expr_reference(&mut self, i: &ExprReference) { ... } fn visit_expr_set(&mut self, i: &ExprSet) { ... } fn visit_expr_set_op(&mut self, i: &ExprSetOp) { ... } fn visit_expr_stmt(&mut self, i: &ExprStmt) { ... } fn visit_filter(&mut self, i: &Filter) { ... } fn visit_condition(&mut self, i: &Condition) { ... } fn visit_expr_project(&mut self, i: &ExprProject) { ... } fn visit_insert_target(&mut self, i: &InsertTarget) { ... } fn visit_join(&mut self, i: &Join) { ... } fn visit_limit(&mut self, i: &Limit) { ... } fn visit_limit_cursor(&mut self, i: &LimitCursor) { ... } fn visit_limit_offset(&mut self, i: &LimitOffset) { ... } fn visit_order_by(&mut self, i: &OrderBy) { ... } fn visit_order_by_expr(&mut self, i: &OrderByExpr) { ... } fn visit_path(&mut self, i: &Path) { ... } fn visit_projection(&mut self, i: &Projection) { ... } fn visit_returning(&mut self, i: &Returning) { ... } fn visit_source(&mut self, i: &Source) { ... } fn visit_source_model(&mut self, i: &SourceModel) { ... } fn visit_source_table(&mut self, i: &SourceTable) { ... } fn visit_source_table_id(&mut self, i: &SourceTableId) { ... } fn visit_stmt(&mut self, i: &Statement) { ... } fn visit_stmt_delete(&mut self, i: &Delete) { ... } fn visit_stmt_insert(&mut self, i: &Insert) { ... } fn visit_stmt_query(&mut self, i: &Query) { ... } fn visit_stmt_select(&mut self, i: &Select) { ... } fn visit_stmt_update(&mut self, i: &Update) { ... } fn visit_table_derived(&mut self, i: &TableDerived) { ... } fn visit_table_ref(&mut self, i: &TableRef) { ... } fn visit_table_factor(&mut self, i: &TableFactor) { ... } fn visit_table_with_joins(&mut self, i: &TableWithJoins) { ... } fn visit_type(&mut self, i: &Type) { ... } fn visit_update_target(&mut self, i: &UpdateTarget) { ... } fn visit_value(&mut self, i: &Value) { ... } fn visit_value_record(&mut self, i: &ValueRecord) { ... } fn visit_values(&mut self, i: &Values) { ... } fn visit_with(&mut self, i: &With) { ... }
}
Expand description

Immutable visitor trait for the statement AST.

Implement this trait to walk the AST without modifying it. Each visit_* method has a default implementation that recurses into child nodes via the corresponding free function (e.g., visit_expr). Override specific methods to inspect nodes of interest.

The companion for_each_expr helper visits every expression node in post-order.

§Examples

use toasty_core::stmt::{visit, Expr, Value, Node};

let expr = Expr::from(Value::from(42_i64));
let mut count = 0;
visit::for_each_expr(&expr, |_| count += 1);
assert_eq!(count, 1);

Provided Methods§

Source

fn visit<N: Node>(&mut self, i: &N)
where Self: Sized,

Dispatches to the appropriate visit_* method via Node::visit.

Source

fn visit_assignment(&mut self, i: &Assignment)

Visits an Assignment node.

The default implementation delegates to visit_assignment.

Source

fn visit_assignments(&mut self, i: &Assignments)

Visits an Assignments node.

The default implementation delegates to visit_assignments.

Source

fn visit_association(&mut self, i: &Association)

Visits an Association node.

The default implementation delegates to visit_association.

Source

fn visit_cte(&mut self, i: &Cte)

Visits a Cte (common table expression) node.

The default implementation delegates to visit_cte.

Source

fn visit_expr(&mut self, i: &Expr)

Visits an Expr node.

The default implementation delegates to visit_expr.

Source

fn visit_expr_and(&mut self, i: &ExprAnd)

Visits an ExprAnd node.

The default implementation delegates to visit_expr_and.

Source

fn visit_expr_any(&mut self, i: &ExprAny)

Visits an ExprAny node.

The default implementation delegates to visit_expr_any.

Source

fn visit_expr_arg(&mut self, i: &ExprArg)

Visits an ExprArg node.

The default implementation delegates to visit_expr_arg.

Source

fn visit_expr_binary_op(&mut self, i: &ExprBinaryOp)

Visits an ExprBinaryOp node.

The default implementation delegates to visit_expr_binary_op.

Source

fn visit_expr_cast(&mut self, i: &ExprCast)

Visits an ExprCast node.

The default implementation delegates to visit_expr_cast.

Source

fn visit_expr_column(&mut self, i: &ExprColumn)

Visits an ExprColumn node.

The default implementation delegates to visit_expr_column.

Source

fn visit_expr_default(&mut self)

Visits a default expression (no associated data).

The default implementation delegates to visit_expr_default.

Source

fn visit_expr_error(&mut self, i: &ExprError)

Visits an ExprError node.

The default implementation delegates to visit_expr_error.

Source

fn visit_expr_exists(&mut self, i: &ExprExists)

Visits an ExprExists node.

The default implementation delegates to visit_expr_exists.

Source

fn visit_expr_func(&mut self, i: &ExprFunc)

Visits an ExprFunc node.

The default implementation delegates to visit_expr_func.

Source

fn visit_expr_func_count(&mut self, i: &FuncCount)

Visits a FuncCount node.

The default implementation delegates to visit_expr_func_count.

Source

fn visit_expr_func_last_insert_id(&mut self, i: &FuncLastInsertId)

Visits a FuncLastInsertId node.

The default implementation delegates to visit_expr_func_last_insert_id.

Source

fn visit_expr_in_list(&mut self, i: &ExprInList)

Visits an ExprInList node.

The default implementation delegates to visit_expr_in_list.

Source

fn visit_expr_in_subquery(&mut self, i: &ExprInSubquery)

Visits an ExprInSubquery node.

The default implementation delegates to visit_expr_in_subquery.

Source

fn visit_expr_is_null(&mut self, i: &ExprIsNull)

Visits an ExprIsNull node.

The default implementation delegates to visit_expr_is_null.

Source

fn visit_expr_is_variant(&mut self, i: &ExprIsVariant)

Visits an ExprIsVariant node.

The default implementation delegates to visit_expr_is_variant.

Source

fn visit_expr_let(&mut self, i: &ExprLet)

Visits an ExprLet node.

The default implementation delegates to visit_expr_let.

Source

fn visit_expr_map(&mut self, i: &ExprMap)

Visits an ExprMap node.

The default implementation delegates to visit_expr_map.

Source

fn visit_expr_match(&mut self, i: &ExprMatch)

Visits an ExprMatch node.

The default implementation delegates to visit_expr_match.

Source

fn visit_expr_not(&mut self, i: &ExprNot)

Visits an ExprNot node.

The default implementation delegates to visit_expr_not.

Source

fn visit_expr_or(&mut self, i: &ExprOr)

Visits an ExprOr node.

The default implementation delegates to visit_expr_or.

Source

fn visit_expr_list(&mut self, i: &ExprList)

Visits an ExprList node.

The default implementation delegates to visit_expr_list.

Source

fn visit_expr_record(&mut self, i: &ExprRecord)

Visits an ExprRecord node.

The default implementation delegates to visit_expr_record.

Source

fn visit_expr_reference(&mut self, i: &ExprReference)

Visits an ExprReference node.

The default implementation delegates to visit_expr_reference.

Source

fn visit_expr_set(&mut self, i: &ExprSet)

Visits an ExprSet node.

The default implementation delegates to visit_expr_set.

Source

fn visit_expr_set_op(&mut self, i: &ExprSetOp)

Visits an ExprSetOp node.

The default implementation delegates to visit_expr_set_op.

Source

fn visit_expr_stmt(&mut self, i: &ExprStmt)

Visits an ExprStmt node.

The default implementation delegates to visit_expr_stmt.

Source

fn visit_filter(&mut self, i: &Filter)

Visits a Filter node.

The default implementation delegates to visit_filter.

Source

fn visit_condition(&mut self, i: &Condition)

Visits a Condition node.

The default implementation delegates to visit_condition.

Source

fn visit_expr_project(&mut self, i: &ExprProject)

Visits an ExprProject node.

The default implementation delegates to visit_expr_project.

Source

fn visit_insert_target(&mut self, i: &InsertTarget)

Visits an InsertTarget node.

The default implementation delegates to visit_insert_target.

Source

fn visit_join(&mut self, i: &Join)

Visits a Join node.

The default implementation delegates to visit_join.

Source

fn visit_limit(&mut self, i: &Limit)

Visits a Limit node.

The default implementation delegates to visit_limit.

Source

fn visit_limit_cursor(&mut self, i: &LimitCursor)

Visits a LimitCursor node.

The default implementation delegates to visit_limit_cursor.

Source

fn visit_limit_offset(&mut self, i: &LimitOffset)

Visits a LimitOffset node.

The default implementation delegates to visit_limit_offset.

Source

fn visit_order_by(&mut self, i: &OrderBy)

Visits an OrderBy node.

The default implementation delegates to visit_order_by.

Source

fn visit_order_by_expr(&mut self, i: &OrderByExpr)

Visits an OrderByExpr node.

The default implementation delegates to visit_order_by_expr.

Source

fn visit_path(&mut self, i: &Path)

Visits a Path node.

The default implementation delegates to visit_path.

Source

fn visit_projection(&mut self, i: &Projection)

Visits a Projection node.

The default implementation delegates to visit_projection.

Source

fn visit_returning(&mut self, i: &Returning)

Visits a Returning node.

The default implementation delegates to visit_returning.

Source

fn visit_source(&mut self, i: &Source)

Visits a Source node.

The default implementation delegates to visit_source.

Source

fn visit_source_model(&mut self, i: &SourceModel)

Visits a SourceModel node.

The default implementation delegates to visit_source_model.

Source

fn visit_source_table(&mut self, i: &SourceTable)

Visits a SourceTable node.

The default implementation delegates to visit_source_table.

Source

fn visit_source_table_id(&mut self, i: &SourceTableId)

Visits a SourceTableId node.

The default implementation delegates to visit_source_table_id.

Source

fn visit_stmt(&mut self, i: &Statement)

Visits a Statement node.

The default implementation delegates to visit_stmt.

Source

fn visit_stmt_delete(&mut self, i: &Delete)

Visits a Delete statement node.

The default implementation delegates to visit_stmt_delete.

Source

fn visit_stmt_insert(&mut self, i: &Insert)

Visits an Insert statement node.

The default implementation delegates to visit_stmt_insert.

Source

fn visit_stmt_query(&mut self, i: &Query)

Visits a Query statement node.

The default implementation delegates to visit_stmt_query.

Source

fn visit_stmt_select(&mut self, i: &Select)

Visits a Select statement node.

The default implementation delegates to visit_stmt_select.

Source

fn visit_stmt_update(&mut self, i: &Update)

Visits an Update statement node.

The default implementation delegates to visit_stmt_update.

Source

fn visit_table_derived(&mut self, i: &TableDerived)

Visits a TableDerived node.

The default implementation delegates to visit_table_derived.

Source

fn visit_table_ref(&mut self, i: &TableRef)

Visits a TableRef node.

The default implementation delegates to visit_table_ref.

Source

fn visit_table_factor(&mut self, i: &TableFactor)

Visits a TableFactor node.

The default implementation delegates to visit_table_factor.

Source

fn visit_table_with_joins(&mut self, i: &TableWithJoins)

Visits a TableWithJoins node.

The default implementation delegates to visit_table_with_joins.

Source

fn visit_type(&mut self, i: &Type)

Visits a Type node.

The default implementation delegates to visit_type.

Source

fn visit_update_target(&mut self, i: &UpdateTarget)

Visits an UpdateTarget node.

The default implementation delegates to visit_update_target.

Source

fn visit_value(&mut self, i: &Value)

Visits a Value node.

The default implementation delegates to visit_value.

Source

fn visit_value_record(&mut self, i: &ValueRecord)

Visits a ValueRecord node.

The default implementation delegates to visit_value_record.

Source

fn visit_values(&mut self, i: &Values)

Visits a Values node.

The default implementation delegates to visit_values.

Source

fn visit_with(&mut self, i: &With)

Visits a With node.

The default implementation delegates to visit_with.

Implementations on Foreign Types§

Source§

impl<V: Visit> Visit for &mut V

Source§

fn visit_assignment(&mut self, i: &Assignment)

Source§

fn visit_assignments(&mut self, i: &Assignments)

Source§

fn visit_association(&mut self, i: &Association)

Source§

fn visit_cte(&mut self, i: &Cte)

Source§

fn visit_expr(&mut self, i: &Expr)

Source§

fn visit_expr_and(&mut self, i: &ExprAnd)

Source§

fn visit_expr_arg(&mut self, i: &ExprArg)

Source§

fn visit_expr_binary_op(&mut self, i: &ExprBinaryOp)

Source§

fn visit_expr_cast(&mut self, i: &ExprCast)

Source§

fn visit_expr_column(&mut self, i: &ExprColumn)

Source§

fn visit_expr_default(&mut self)

Source§

fn visit_expr_error(&mut self, i: &ExprError)

Source§

fn visit_expr_exists(&mut self, i: &ExprExists)

Source§

fn visit_expr_func(&mut self, i: &ExprFunc)

Source§

fn visit_expr_func_count(&mut self, i: &FuncCount)

Source§

fn visit_expr_in_list(&mut self, i: &ExprInList)

Source§

fn visit_expr_in_subquery(&mut self, i: &ExprInSubquery)

Source§

fn visit_expr_is_null(&mut self, i: &ExprIsNull)

Source§

fn visit_expr_is_variant(&mut self, i: &ExprIsVariant)

Source§

fn visit_expr_let(&mut self, i: &ExprLet)

Source§

fn visit_expr_map(&mut self, i: &ExprMap)

Source§

fn visit_expr_match(&mut self, i: &ExprMatch)

Source§

fn visit_expr_not(&mut self, i: &ExprNot)

Source§

fn visit_expr_or(&mut self, i: &ExprOr)

Source§

fn visit_expr_list(&mut self, i: &ExprList)

Source§

fn visit_expr_record(&mut self, i: &ExprRecord)

Source§

fn visit_expr_reference(&mut self, i: &ExprReference)

Source§

fn visit_expr_set(&mut self, i: &ExprSet)

Source§

fn visit_expr_set_op(&mut self, i: &ExprSetOp)

Source§

fn visit_expr_stmt(&mut self, i: &ExprStmt)

Source§

fn visit_filter(&mut self, i: &Filter)

Source§

fn visit_condition(&mut self, i: &Condition)

Source§

fn visit_expr_project(&mut self, i: &ExprProject)

Source§

fn visit_insert_target(&mut self, i: &InsertTarget)

Source§

fn visit_join(&mut self, i: &Join)

Source§

fn visit_limit(&mut self, i: &Limit)

Source§

fn visit_limit_cursor(&mut self, i: &LimitCursor)

Source§

fn visit_limit_offset(&mut self, i: &LimitOffset)

Source§

fn visit_order_by(&mut self, i: &OrderBy)

Source§

fn visit_order_by_expr(&mut self, i: &OrderByExpr)

Source§

fn visit_path(&mut self, i: &Path)

Source§

fn visit_projection(&mut self, i: &Projection)

Source§

fn visit_returning(&mut self, i: &Returning)

Source§

fn visit_source(&mut self, i: &Source)

Source§

fn visit_source_model(&mut self, i: &SourceModel)

Source§

fn visit_source_table(&mut self, i: &SourceTable)

Source§

fn visit_source_table_id(&mut self, i: &SourceTableId)

Source§

fn visit_stmt(&mut self, i: &Statement)

Source§

fn visit_stmt_delete(&mut self, i: &Delete)

Source§

fn visit_stmt_insert(&mut self, i: &Insert)

Source§

fn visit_stmt_query(&mut self, i: &Query)

Source§

fn visit_stmt_select(&mut self, i: &Select)

Source§

fn visit_stmt_update(&mut self, i: &Update)

Source§

fn visit_table_derived(&mut self, i: &TableDerived)

Source§

fn visit_table_ref(&mut self, i: &TableRef)

Source§

fn visit_table_factor(&mut self, i: &TableFactor)

Source§

fn visit_table_with_joins(&mut self, i: &TableWithJoins)

Source§

fn visit_type(&mut self, i: &Type)

Source§

fn visit_update_target(&mut self, i: &UpdateTarget)

Source§

fn visit_value(&mut self, i: &Value)

Source§

fn visit_value_record(&mut self, i: &ValueRecord)

Source§

fn visit_values(&mut self, i: &Values)

Source§

fn visit_with(&mut self, i: &With)

Implementors§