pub trait ExprVisitor {
Show 14 methods
// Provided methods
fn visit_expr(&mut self, expr: &ExprImpl) { ... }
fn visit_function_call(&mut self, func_call: &FunctionCall) { ... }
fn visit_function_call_with_lambda(
&mut self,
func_call: &FunctionCallWithLambda,
) { ... }
fn visit_agg_call(&mut self, agg_call: &AggCall) { ... }
fn visit_parameter(&mut self, _: &Parameter) { ... }
fn visit_literal(&mut self, _: &Literal) { ... }
fn visit_input_ref(&mut self, _: &InputRef) { ... }
fn visit_subquery(&mut self, _: &Subquery) { ... }
fn visit_correlated_input_ref(&mut self, _: &CorrelatedInputRef) { ... }
fn visit_table_function(&mut self, func_call: &TableFunction) { ... }
fn visit_window_function(&mut self, func_call: &WindowFunction) { ... }
fn visit_user_defined_function(&mut self, func_call: &UserDefinedFunction) { ... }
fn visit_now(&mut self, _: &Now) { ... }
fn visit_secret_ref(&mut self, _: &SecretRef) { ... }
}Expand description
Traverse an expression tree.
Each method of the trait is a hook that can be overridden to customize the behavior when traversing the corresponding type of node. By default, every method recursively visits the subtree.
Note: The default implementation for visit_subquery is a no-op, i.e., expressions inside
subqueries are not traversed.
Provided Methods§
fn visit_expr(&mut self, expr: &ExprImpl)
fn visit_function_call(&mut self, func_call: &FunctionCall)
fn visit_function_call_with_lambda( &mut self, func_call: &FunctionCallWithLambda, )
fn visit_agg_call(&mut self, agg_call: &AggCall)
fn visit_parameter(&mut self, _: &Parameter)
fn visit_literal(&mut self, _: &Literal)
fn visit_input_ref(&mut self, _: &InputRef)
fn visit_subquery(&mut self, _: &Subquery)
fn visit_table_function(&mut self, func_call: &TableFunction)
fn visit_window_function(&mut self, func_call: &WindowFunction)
fn visit_user_defined_function(&mut self, func_call: &UserDefinedFunction)
fn visit_now(&mut self, _: &Now)
fn visit_secret_ref(&mut self, _: &SecretRef)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".