Skip to main content

AstVisitor

Trait AstVisitor 

Source
pub trait AstVisitor<T, A: Debug + Clone, E> {
    // Required methods
    fn visit_function_call(
        &self,
        ast: &FunctionCall<A>,
        context: T,
        driver: &AstVisitorDriver,
    ) -> AstVisitorResult<T, E>;
    fn visit_identifier(
        &self,
        ast: &Identifier<A>,
        context: T,
        driver: &AstVisitorDriver,
    ) -> AstVisitorResult<T, E>;
    fn visit_argument_list(
        &self,
        ast: &ArgumentList<A>,
        context: T,
        driver: &AstVisitorDriver,
    ) -> AstVisitorResult<T, E>;
    fn visit_argument(
        &self,
        ast: &Argument<A>,
        context: T,
        driver: &AstVisitorDriver,
    ) -> AstVisitorResult<T, E>;
    fn visit_member_access_expr(
        &self,
        ast: &MemberAccessExpression<A>,
        context: T,
        driver: &AstVisitorDriver,
    ) -> AstVisitorResult<T, E>;
    fn visit_binary_expr(
        &self,
        ast: &BinaryExpr<A>,
        context: T,
        driver: &AstVisitorDriver,
    ) -> AstVisitorResult<T, E>;
    fn visit_ternary_expr(
        &self,
        ast: &TernaryExpr<A>,
        context: T,
        driver: &AstVisitorDriver,
    ) -> AstVisitorResult<T, E>;
    fn visit_literal(
        &self,
        ast: (&Literal, &TextLocation, &A),
        context: T,
        driver: &AstVisitorDriver,
    ) -> AstVisitorResult<T, E>;
}

Required Methods§

Source

fn visit_function_call( &self, ast: &FunctionCall<A>, context: T, driver: &AstVisitorDriver, ) -> AstVisitorResult<T, E>

Source

fn visit_identifier( &self, ast: &Identifier<A>, context: T, driver: &AstVisitorDriver, ) -> AstVisitorResult<T, E>

Source

fn visit_argument_list( &self, ast: &ArgumentList<A>, context: T, driver: &AstVisitorDriver, ) -> AstVisitorResult<T, E>

Source

fn visit_argument( &self, ast: &Argument<A>, context: T, driver: &AstVisitorDriver, ) -> AstVisitorResult<T, E>

Source

fn visit_member_access_expr( &self, ast: &MemberAccessExpression<A>, context: T, driver: &AstVisitorDriver, ) -> AstVisitorResult<T, E>

Source

fn visit_binary_expr( &self, ast: &BinaryExpr<A>, context: T, driver: &AstVisitorDriver, ) -> AstVisitorResult<T, E>

Source

fn visit_ternary_expr( &self, ast: &TernaryExpr<A>, context: T, driver: &AstVisitorDriver, ) -> AstVisitorResult<T, E>

Source

fn visit_literal( &self, ast: (&Literal, &TextLocation, &A), context: T, driver: &AstVisitorDriver, ) -> AstVisitorResult<T, E>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§