ExpressionVisitor

Trait ExpressionVisitor 

Source
pub trait ExpressionVisitor<E>: TypeExpressionVisitor<E> {
Show 40 methods // Provided methods fn handle_expression_error( &mut self, error: E, expression: &DatexExpression, ) -> Result<VisitAction<DatexExpression>, E> { ... } fn before_visit_datex_expression( &mut self, expression: &mut DatexExpression, ) { ... } fn after_visit_datex_expression(&mut self, expression: &mut DatexExpression) { ... } fn visit_datex_expression( &mut self, expr: &mut DatexExpression, ) -> Result<(), E> { ... } fn visit_statements( &mut self, statements: &mut Statements, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_unary_operation( &mut self, unary_operation: &mut UnaryOperation, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_variant_access( &mut self, variant_access: &mut VariantAccess, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_property_assignment( &mut self, property_assignment: &mut PropertyAssignment, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_conditional( &mut self, conditional: &mut Conditional, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_type_declaration( &mut self, type_declaration: &mut TypeDeclaration, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_binary_operation( &mut self, binary_operation: &mut BinaryOperation, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_comparison_operation( &mut self, comparison_operation: &mut ComparisonOperation, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_deref_assignment( &mut self, deref_assignment: &mut DerefAssignment, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_apply( &mut self, apply: &mut Apply, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_property_access( &mut self, property_access: &mut PropertyAccess, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_generic_instantiation( &mut self, generic_instantiation: &mut GenericInstantiation, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_remote_execution( &mut self, remote_execution: &mut RemoteExecution, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_callable_declaration( &mut self, function_declaration: &mut CallableDeclaration, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_slot_assignment( &mut self, slot_assignment: &mut SlotAssignment, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_variable_declaration( &mut self, variable_declaration: &mut VariableDeclaration, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_variable_assignment( &mut self, variable_assignment: &mut VariableAssignment, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_variable_access( &mut self, var_access: &mut VariableAccess, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_create_ref( &mut self, create_ref: &mut CreateRef, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_create_mut( &mut self, datex_expression: &mut DatexExpression, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_deref( &mut self, deref: &mut Deref, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_list( &mut self, list: &mut List, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_map( &mut self, map: &mut Map, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_integer( &mut self, integer: &mut Integer, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_typed_integer( &mut self, typed_integer: &mut TypedInteger, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_decimal( &mut self, decimal: &mut Decimal, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_typed_decimal( &mut self, typed_decimal: &mut TypedDecimal, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_identifier( &mut self, identifier: &mut String, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_placeholder( &mut self, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_text( &mut self, text: &mut String, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_get_reference( &mut self, pointer_address: &mut PointerAddress, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_boolean( &mut self, boolean: &mut bool, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_endpoint( &mut self, endpoint: &mut Endpoint, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_null(&mut self, span: &Range<usize>) -> ExpressionVisitResult<E> { ... } fn visit_pointer_address( &mut self, pointer_address: &PointerAddress, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... } fn visit_slot( &mut self, slot: &Slot, span: &Range<usize>, ) -> ExpressionVisitResult<E> { ... }
}

Provided Methods§

Source

fn handle_expression_error( &mut self, error: E, expression: &DatexExpression, ) -> Result<VisitAction<DatexExpression>, E>

Handle expression error Can either propagate the error or return a VisitAction to recover Per default, it just propagates the error

Source

fn before_visit_datex_expression(&mut self, expression: &mut DatexExpression)

Source

fn after_visit_datex_expression(&mut self, expression: &mut DatexExpression)

Source

fn visit_datex_expression( &mut self, expr: &mut DatexExpression, ) -> Result<(), E>

Visit datex expression

Source

fn visit_statements( &mut self, statements: &mut Statements, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit statements

Source

fn visit_unary_operation( &mut self, unary_operation: &mut UnaryOperation, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit unary operation

Source

fn visit_variant_access( &mut self, variant_access: &mut VariantAccess, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit variant access

Source

fn visit_property_assignment( &mut self, property_assignment: &mut PropertyAssignment, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit property assignment

Source

fn visit_conditional( &mut self, conditional: &mut Conditional, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit conditional expression

Source

fn visit_type_declaration( &mut self, type_declaration: &mut TypeDeclaration, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit type declaration

Source

fn visit_binary_operation( &mut self, binary_operation: &mut BinaryOperation, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit binary operation

Source

fn visit_comparison_operation( &mut self, comparison_operation: &mut ComparisonOperation, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit comparison operation

Source

fn visit_deref_assignment( &mut self, deref_assignment: &mut DerefAssignment, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit dereference assignment

Source

fn visit_apply( &mut self, apply: &mut Apply, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit apply chain

Source

fn visit_property_access( &mut self, property_access: &mut PropertyAccess, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit property access

Source

fn visit_generic_instantiation( &mut self, generic_instantiation: &mut GenericInstantiation, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit generic instantiation

Source

fn visit_remote_execution( &mut self, remote_execution: &mut RemoteExecution, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit remote execution

Source

fn visit_callable_declaration( &mut self, function_declaration: &mut CallableDeclaration, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit callable declaration

Source

fn visit_slot_assignment( &mut self, slot_assignment: &mut SlotAssignment, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit slot assignment

Source

fn visit_variable_declaration( &mut self, variable_declaration: &mut VariableDeclaration, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit variable declaration

Source

fn visit_variable_assignment( &mut self, variable_assignment: &mut VariableAssignment, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit variable assignment

Source

fn visit_variable_access( &mut self, var_access: &mut VariableAccess, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit variable access

Source

fn visit_create_ref( &mut self, create_ref: &mut CreateRef, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit create reference expression

Source

fn visit_create_mut( &mut self, datex_expression: &mut DatexExpression, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit create mutable reference expression

Source

fn visit_deref( &mut self, deref: &mut Deref, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit dereference expression

Source

fn visit_list( &mut self, list: &mut List, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit list expression

Source

fn visit_map( &mut self, map: &mut Map, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit map expression

Source

fn visit_integer( &mut self, integer: &mut Integer, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit integer literal

Source

fn visit_typed_integer( &mut self, typed_integer: &mut TypedInteger, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit typed integer literal

Source

fn visit_decimal( &mut self, decimal: &mut Decimal, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit decimal literal

Source

fn visit_typed_decimal( &mut self, typed_decimal: &mut TypedDecimal, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit typed decimal literal

Source

fn visit_identifier( &mut self, identifier: &mut String, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit identifier

Source

fn visit_placeholder(&mut self, span: &Range<usize>) -> ExpressionVisitResult<E>

Source

fn visit_text( &mut self, text: &mut String, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit text literal

Source

fn visit_get_reference( &mut self, pointer_address: &mut PointerAddress, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit get reference expression

Source

fn visit_boolean( &mut self, boolean: &mut bool, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit boolean literal

Source

fn visit_endpoint( &mut self, endpoint: &mut Endpoint, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit endpoint expression

Source

fn visit_null(&mut self, span: &Range<usize>) -> ExpressionVisitResult<E>

Visit null literal

Source

fn visit_pointer_address( &mut self, pointer_address: &PointerAddress, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit pointer address expression

Source

fn visit_slot( &mut self, slot: &Slot, span: &Range<usize>, ) -> ExpressionVisitResult<E>

Visit slot expression

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§