Skip to main content

AstVisitorMut

Trait AstVisitorMut 

Source
pub trait AstVisitorMut: Sized {
Show 45 methods // Provided methods fn visit(&mut self, node: &mut AstNode) { ... } fn visit_statement_list(&mut self, stmts: &mut Vec<AstNode>) { ... } fn map(&mut self, node: AstNode) -> AstNode { ... } fn visit_compilation_unit(&mut self, unit: &mut CompilationUnit) { ... } fn visit_implementation(&mut self, implementation: &mut Implementation) { ... } fn visit_variable_block(&mut self, block: &mut VariableBlock) { ... } fn visit_variable(&mut self, variable: &mut Variable) { ... } fn visit_enum_element(&mut self, element: &mut AstNode) { ... } fn visit_data_type_declaration( &mut self, data_type_declaration: &mut DataTypeDeclaration, ) { ... } fn visit_user_type_declaration( &mut self, user_type: &mut UserTypeDeclaration, ) { ... } fn visit_data_type(&mut self, data_type: &mut DataType) { ... } fn visit_pou(&mut self, pou: &mut Pou) { ... } fn visit_empty_statement(&mut self, _node: &mut AstNode) { ... } fn visit_default_value(&mut self, _node: &mut AstNode) { ... } fn visit_literal(&mut self, node: &mut AstNode) { ... } fn visit_multiplied_statement(&mut self, node: &mut AstNode) { ... } fn visit_reference_expr(&mut self, node: &mut AstNode) { ... } fn visit_identifier(&mut self, _node: &mut AstNode) { ... } fn visit_direct_access(&mut self, node: &mut AstNode) { ... } fn visit_hardware_access(&mut self, node: &mut AstNode) { ... } fn visit_binary_expression(&mut self, node: &mut AstNode) { ... } fn visit_unary_expression(&mut self, node: &mut AstNode) { ... } fn visit_expression_list(&mut self, node: &mut AstNode) { ... } fn visit_paren_expression(&mut self, node: &mut AstNode) { ... } fn visit_range_statement(&mut self, node: &mut AstNode) { ... } fn visit_vla_range_statement(&mut self, _node: &mut AstNode) { ... } fn visit_assignment(&mut self, node: &mut AstNode) { ... } fn visit_output_assignment(&mut self, node: &mut AstNode) { ... } fn visit_ref_assignment(&mut self, node: &mut AstNode) { ... } fn visit_call_statement(&mut self, node: &mut AstNode) { ... } fn visit_control_statement(&mut self, node: &mut AstNode) { ... } fn visit_for_loop_statement(&mut self, stmt: &mut ForLoopStatement) { ... } fn visit_while_loop_statement(&mut self, stmt: &mut LoopStatement) { ... } fn visit_repeat_loop_statement(&mut self, stmt: &mut LoopStatement) { ... } fn visit_case_condition(&mut self, node: &mut AstNode) { ... } fn visit_exit_statement(&mut self, _node: &mut AstNode) { ... } fn visit_continue_statement(&mut self, _node: &mut AstNode) { ... } fn visit_return_statement(&mut self, node: &mut AstNode) { ... } fn visit_jump_statement(&mut self, node: &mut AstNode) { ... } fn visit_label_statement(&mut self, _node: &mut AstNode) { ... } fn visit_allocation(&mut self, _node: &mut AstNode) { ... } fn visit_interface(&mut self, interface: &mut Interface) { ... } fn visit_property(&mut self, property: &mut PropertyBlock) { ... } fn visit_super(&mut self, _node: &mut AstNode) { ... } fn visit_this(&mut self, _node: &mut AstNode) { ... }
}

Provided Methods§

Source

fn visit(&mut self, node: &mut AstNode)

Source

fn visit_statement_list(&mut self, stmts: &mut Vec<AstNode>)

Called when visiting a list of statements (e.g. implementation bodies, control flow branches). Override this to intercept statement-list processing — for example, to drain-and-rebuild the list for 1→N statement expansion.

Source

fn map(&mut self, node: AstNode) -> AstNode

Source

fn visit_compilation_unit(&mut self, unit: &mut CompilationUnit)

Source

fn visit_implementation(&mut self, implementation: &mut Implementation)

Source

fn visit_variable_block(&mut self, block: &mut VariableBlock)

Source

fn visit_variable(&mut self, variable: &mut Variable)

Source

fn visit_enum_element(&mut self, element: &mut AstNode)

Source

fn visit_data_type_declaration( &mut self, data_type_declaration: &mut DataTypeDeclaration, )

Source

fn visit_user_type_declaration(&mut self, user_type: &mut UserTypeDeclaration)

Source

fn visit_data_type(&mut self, data_type: &mut DataType)

Source

fn visit_pou(&mut self, pou: &mut Pou)

Source

fn visit_empty_statement(&mut self, _node: &mut AstNode)

Source

fn visit_default_value(&mut self, _node: &mut AstNode)

Source

fn visit_literal(&mut self, node: &mut AstNode)

Source

fn visit_multiplied_statement(&mut self, node: &mut AstNode)

Source

fn visit_reference_expr(&mut self, node: &mut AstNode)

Source

fn visit_identifier(&mut self, _node: &mut AstNode)

Source

fn visit_direct_access(&mut self, node: &mut AstNode)

Source

fn visit_hardware_access(&mut self, node: &mut AstNode)

Source

fn visit_binary_expression(&mut self, node: &mut AstNode)

Source

fn visit_unary_expression(&mut self, node: &mut AstNode)

Source

fn visit_expression_list(&mut self, node: &mut AstNode)

Source

fn visit_paren_expression(&mut self, node: &mut AstNode)

Source

fn visit_range_statement(&mut self, node: &mut AstNode)

Source

fn visit_vla_range_statement(&mut self, _node: &mut AstNode)

Source

fn visit_assignment(&mut self, node: &mut AstNode)

Source

fn visit_output_assignment(&mut self, node: &mut AstNode)

Source

fn visit_ref_assignment(&mut self, node: &mut AstNode)

Source

fn visit_call_statement(&mut self, node: &mut AstNode)

Source

fn visit_control_statement(&mut self, node: &mut AstNode)

Source

fn visit_for_loop_statement(&mut self, stmt: &mut ForLoopStatement)

Visits a ForLoop control statement. Make sure to visit the counter, bounds, optional step and body to continue the traversal.

§Arguments
  • stmt - The unwraped, typed ForLoopStatement node to visit.
Source

fn visit_while_loop_statement(&mut self, stmt: &mut LoopStatement)

Visits a WhileLoop control statement. Make sure to visit the condition and body to continue the traversal.

§Arguments
  • stmt - The unwraped, typed LoopStatement node to visit.
Source

fn visit_repeat_loop_statement(&mut self, stmt: &mut LoopStatement)

Visits a RepeatLoop control statement. Make sure to visit the condition and body to continue the traversal.

§Arguments
  • stmt - The unwraped, typed LoopStatement node to visit.
Source

fn visit_case_condition(&mut self, node: &mut AstNode)

Source

fn visit_exit_statement(&mut self, _node: &mut AstNode)

Source

fn visit_continue_statement(&mut self, _node: &mut AstNode)

Source

fn visit_return_statement(&mut self, node: &mut AstNode)

Source

fn visit_jump_statement(&mut self, node: &mut AstNode)

Source

fn visit_label_statement(&mut self, _node: &mut AstNode)

Visits a LabelStatement node.

§Arguments
  • stmt - The unwrapedyped LabelStatement node to visit.
  • node - The wrapped AstNode node to visit. Offers access to location information and AstId
Source

fn visit_allocation(&mut self, _node: &mut AstNode)

Visits a Allocation node.

§Arguments
  • stmt - The unwrapedyped Allocation node to visit.
  • node - The wrapped AstNode node to visit. Offers access to location information and AstId
Source

fn visit_interface(&mut self, interface: &mut Interface)

Source

fn visit_property(&mut self, property: &mut PropertyBlock)

Source

fn visit_super(&mut self, _node: &mut AstNode)

Source

fn visit_this(&mut self, _node: &mut AstNode)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§