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§
Sourcefn handle_expression_error(
&mut self,
error: E,
expression: &DatexExpression,
) -> Result<VisitAction<DatexExpression>, E>
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
fn before_visit_datex_expression(&mut self, expression: &mut DatexExpression)
fn after_visit_datex_expression(&mut self, expression: &mut DatexExpression)
Sourcefn visit_datex_expression(
&mut self,
expr: &mut DatexExpression,
) -> Result<(), E>
fn visit_datex_expression( &mut self, expr: &mut DatexExpression, ) -> Result<(), E>
Visit datex expression
Sourcefn visit_statements(
&mut self,
statements: &mut Statements,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_statements( &mut self, statements: &mut Statements, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit statements
Sourcefn visit_unary_operation(
&mut self,
unary_operation: &mut UnaryOperation,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_unary_operation( &mut self, unary_operation: &mut UnaryOperation, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit unary operation
Sourcefn visit_variant_access(
&mut self,
variant_access: &mut VariantAccess,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_variant_access( &mut self, variant_access: &mut VariantAccess, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit variant access
Sourcefn visit_property_assignment(
&mut self,
property_assignment: &mut PropertyAssignment,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_property_assignment( &mut self, property_assignment: &mut PropertyAssignment, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit property assignment
Sourcefn visit_conditional(
&mut self,
conditional: &mut Conditional,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_conditional( &mut self, conditional: &mut Conditional, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit conditional expression
Sourcefn visit_type_declaration(
&mut self,
type_declaration: &mut TypeDeclaration,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_type_declaration( &mut self, type_declaration: &mut TypeDeclaration, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit type declaration
Sourcefn visit_binary_operation(
&mut self,
binary_operation: &mut BinaryOperation,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_binary_operation( &mut self, binary_operation: &mut BinaryOperation, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit binary operation
Sourcefn visit_comparison_operation(
&mut self,
comparison_operation: &mut ComparisonOperation,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_comparison_operation( &mut self, comparison_operation: &mut ComparisonOperation, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit comparison operation
Sourcefn visit_deref_assignment(
&mut self,
deref_assignment: &mut DerefAssignment,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_deref_assignment( &mut self, deref_assignment: &mut DerefAssignment, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit dereference assignment
Sourcefn visit_apply(
&mut self,
apply: &mut Apply,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_apply( &mut self, apply: &mut Apply, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit apply chain
Sourcefn visit_property_access(
&mut self,
property_access: &mut PropertyAccess,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_property_access( &mut self, property_access: &mut PropertyAccess, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit property access
Sourcefn visit_generic_instantiation(
&mut self,
generic_instantiation: &mut GenericInstantiation,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_generic_instantiation( &mut self, generic_instantiation: &mut GenericInstantiation, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit generic instantiation
Sourcefn visit_remote_execution(
&mut self,
remote_execution: &mut RemoteExecution,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_remote_execution( &mut self, remote_execution: &mut RemoteExecution, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit remote execution
Sourcefn visit_callable_declaration(
&mut self,
function_declaration: &mut CallableDeclaration,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_callable_declaration( &mut self, function_declaration: &mut CallableDeclaration, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit callable declaration
Sourcefn visit_slot_assignment(
&mut self,
slot_assignment: &mut SlotAssignment,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_slot_assignment( &mut self, slot_assignment: &mut SlotAssignment, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit slot assignment
Sourcefn visit_variable_declaration(
&mut self,
variable_declaration: &mut VariableDeclaration,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_variable_declaration( &mut self, variable_declaration: &mut VariableDeclaration, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit variable declaration
Sourcefn visit_variable_assignment(
&mut self,
variable_assignment: &mut VariableAssignment,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_variable_assignment( &mut self, variable_assignment: &mut VariableAssignment, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit variable assignment
Sourcefn visit_variable_access(
&mut self,
var_access: &mut VariableAccess,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_variable_access( &mut self, var_access: &mut VariableAccess, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit variable access
Sourcefn visit_create_ref(
&mut self,
create_ref: &mut CreateRef,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_create_ref( &mut self, create_ref: &mut CreateRef, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit create reference expression
Sourcefn visit_create_mut(
&mut self,
datex_expression: &mut DatexExpression,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_create_mut( &mut self, datex_expression: &mut DatexExpression, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit create mutable reference expression
Sourcefn visit_deref(
&mut self,
deref: &mut Deref,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_deref( &mut self, deref: &mut Deref, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit dereference expression
Sourcefn visit_list(
&mut self,
list: &mut List,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_list( &mut self, list: &mut List, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit list expression
Sourcefn visit_map(
&mut self,
map: &mut Map,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_map( &mut self, map: &mut Map, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit map expression
Sourcefn visit_integer(
&mut self,
integer: &mut Integer,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_integer( &mut self, integer: &mut Integer, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit integer literal
Sourcefn visit_typed_integer(
&mut self,
typed_integer: &mut TypedInteger,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_typed_integer( &mut self, typed_integer: &mut TypedInteger, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit typed integer literal
Sourcefn visit_decimal(
&mut self,
decimal: &mut Decimal,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_decimal( &mut self, decimal: &mut Decimal, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit decimal literal
Sourcefn visit_typed_decimal(
&mut self,
typed_decimal: &mut TypedDecimal,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_typed_decimal( &mut self, typed_decimal: &mut TypedDecimal, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit typed decimal literal
Sourcefn visit_identifier(
&mut self,
identifier: &mut String,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_identifier( &mut self, identifier: &mut String, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit identifier
fn visit_placeholder(&mut self, span: &Range<usize>) -> ExpressionVisitResult<E>
Sourcefn visit_text(
&mut self,
text: &mut String,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_text( &mut self, text: &mut String, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit text literal
Sourcefn visit_get_reference(
&mut self,
pointer_address: &mut PointerAddress,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_get_reference( &mut self, pointer_address: &mut PointerAddress, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit get reference expression
Sourcefn visit_boolean(
&mut self,
boolean: &mut bool,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_boolean( &mut self, boolean: &mut bool, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit boolean literal
Sourcefn visit_endpoint(
&mut self,
endpoint: &mut Endpoint,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_endpoint( &mut self, endpoint: &mut Endpoint, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit endpoint expression
Sourcefn visit_null(&mut self, span: &Range<usize>) -> ExpressionVisitResult<E>
fn visit_null(&mut self, span: &Range<usize>) -> ExpressionVisitResult<E>
Visit null literal
Sourcefn visit_pointer_address(
&mut self,
pointer_address: &PointerAddress,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
fn visit_pointer_address( &mut self, pointer_address: &PointerAddress, span: &Range<usize>, ) -> ExpressionVisitResult<E>
Visit pointer address expression
Sourcefn visit_slot(
&mut self,
slot: &Slot,
span: &Range<usize>,
) -> ExpressionVisitResult<E>
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.