pub struct CodegenVisitor { /* private fields */ }Expand description
Visitor that generates Rust code from ELO AST
Implementations§
Trait Implementations§
Source§impl Debug for CodegenVisitor
impl Debug for CodegenVisitor
Source§impl Default for CodegenVisitor
impl Default for CodegenVisitor
Source§impl Visitor<TokenStream> for CodegenVisitor
impl Visitor<TokenStream> for CodegenVisitor
Source§fn visit_expr(&mut self, expr: &Expr) -> TokenStream
fn visit_expr(&mut self, expr: &Expr) -> TokenStream
Visit a generic expression, dispatching to specific methods
Source§fn visit_literal(&mut self, lit: &Literal) -> TokenStream
fn visit_literal(&mut self, lit: &Literal) -> TokenStream
Visit a literal value (number or boolean)
Source§fn visit_null(&mut self) -> TokenStream
fn visit_null(&mut self) -> TokenStream
Visit a null literal
Source§fn visit_identifier(&mut self, name: &str) -> TokenStream
fn visit_identifier(&mut self, name: &str) -> TokenStream
Visit an identifier (variable reference)
Source§fn visit_field_access(&mut self, receiver: &Expr, field: &str) -> TokenStream
fn visit_field_access(&mut self, receiver: &Expr, field: &str) -> TokenStream
Visit a field access expression
Source§fn visit_binary_op(
&mut self,
op: BinaryOperator,
left: &Expr,
right: &Expr,
) -> TokenStream
fn visit_binary_op( &mut self, op: BinaryOperator, left: &Expr, right: &Expr, ) -> TokenStream
Visit a binary operation
Source§fn visit_unary_op(&mut self, op: UnaryOperator, operand: &Expr) -> TokenStream
fn visit_unary_op(&mut self, op: UnaryOperator, operand: &Expr) -> TokenStream
Visit a unary operation
Source§fn visit_function_call(&mut self, name: &str, args: &[Expr]) -> TokenStream
fn visit_function_call(&mut self, name: &str, args: &[Expr]) -> TokenStream
Visit a function call
Source§fn visit_lambda(&mut self, param: &str, body: &Expr) -> TokenStream
fn visit_lambda(&mut self, param: &str, body: &Expr) -> TokenStream
Visit a lambda expression
Source§fn visit_let(&mut self, name: &str, value: &Expr, body: &Expr) -> TokenStream
fn visit_let(&mut self, name: &str, value: &Expr, body: &Expr) -> TokenStream
Visit a let binding
Source§fn visit_if(
&mut self,
condition: &Expr,
then_branch: &Expr,
else_branch: &Expr,
) -> TokenStream
fn visit_if( &mut self, condition: &Expr, then_branch: &Expr, else_branch: &Expr, ) -> TokenStream
Visit an if conditional
Source§fn visit_array(&mut self, elements: &[Expr]) -> TokenStream
fn visit_array(&mut self, elements: &[Expr]) -> TokenStream
Visit an array literal
Source§fn visit_object(&mut self, fields: &[(String, Expr)]) -> TokenStream
fn visit_object(&mut self, fields: &[(String, Expr)]) -> TokenStream
Visit an object literal
Source§fn visit_pipe(&mut self, value: &Expr, functions: &[Expr]) -> TokenStream
fn visit_pipe(&mut self, value: &Expr, functions: &[Expr]) -> TokenStream
Visit a pipe operator
Source§fn visit_alternative(
&mut self,
primary: &Expr,
alternative: &Expr,
) -> TokenStream
fn visit_alternative( &mut self, primary: &Expr, alternative: &Expr, ) -> TokenStream
Visit an alternative operator (?|)
Source§fn visit_guard(&mut self, condition: &Expr, body: &Expr) -> TokenStream
fn visit_guard(&mut self, condition: &Expr, body: &Expr) -> TokenStream
Visit a guard expression
Source§fn visit_date(&mut self, date: &str) -> TokenStream
fn visit_date(&mut self, date: &str) -> TokenStream
Visit a date literal
Source§fn visit_datetime(&mut self, datetime: &str) -> TokenStream
fn visit_datetime(&mut self, datetime: &str) -> TokenStream
Visit a datetime literal
Source§fn visit_duration(&mut self, duration: &str) -> TokenStream
fn visit_duration(&mut self, duration: &str) -> TokenStream
Visit a duration literal
Source§fn visit_temporal_keyword(&mut self, keyword: TemporalKeyword) -> TokenStream
fn visit_temporal_keyword(&mut self, keyword: TemporalKeyword) -> TokenStream
Visit a temporal keyword
Source§fn visit_string(&mut self, value: &str) -> TokenStream
fn visit_string(&mut self, value: &str) -> TokenStream
Visit a string literal
Auto Trait Implementations§
impl Freeze for CodegenVisitor
impl RefUnwindSafe for CodegenVisitor
impl Send for CodegenVisitor
impl Sync for CodegenVisitor
impl Unpin for CodegenVisitor
impl UnwindSafe for CodegenVisitor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more