pub trait SyntaxVisitor<T>: Sized {
Show 22 methods
// Required methods
fn visit_function_call(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_error(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> CompilerLocatableError;
fn visit_identifier(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_argument_list(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_argument(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_string_concat_operator(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_comparison_operator(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_logic_operator(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_math_operator(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_member_access_expr(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_member_access_oper(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_binary_expr(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_ternary_operator(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_ternary_expr(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_literal(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_boolean_literal(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_number_literal(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_string_literal(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_regex_literal(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_ipaddress_literal(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
fn visit_mel(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T>;
// Provided method
fn visit_expr(
&self,
syntax: Node<'_>,
context: T,
driver: &SyntaxVisitorDriver,
) -> SyntaxVisitorResult<T> { ... }
}Required Methods§
fn visit_function_call( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_error( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> CompilerLocatableError
fn visit_identifier( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_argument_list( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_argument( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_string_concat_operator( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_comparison_operator( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_logic_operator( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_math_operator( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_member_access_expr( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_member_access_oper( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_binary_expr( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_ternary_operator( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_ternary_expr( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_literal( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_boolean_literal( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_number_literal( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_string_literal( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_regex_literal( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_ipaddress_literal( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
fn visit_mel( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
Provided Methods§
fn visit_expr( &self, syntax: Node<'_>, context: T, driver: &SyntaxVisitorDriver, ) -> SyntaxVisitorResult<T>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".