[][src]Trait gluon_vm::core::optimize::Visitor

pub trait Visitor<'a, 'b> {
    type Producer: ExprProducer<'a, 'b>;
    fn visit_expr(&mut self, expr: CExpr<'b>) -> Option<&'a Expr<'a>>;
fn detach_allocator(&self) -> Option<&'a Allocator<'a>>; fn visit_expr_(&mut self, expr: CExpr<'b>) -> Option<Expr<'a>> { ... }
fn visit_binding(&mut self, _: &Symbol) -> Option<Symbol> { ... }
fn visit_pattern(&mut self, expr: &'b Pattern) -> Option<Pattern> { ... }
fn visit_alt(&mut self, alt: &'b Alternative<'b>) -> Option<Alternative<'a>> { ... }
fn allocator(&self) -> &'a Allocator<'a> { ... } }

Associated Types

type Producer: ExprProducer<'a, 'b>

Loading content...

Required methods

fn visit_expr(&mut self, expr: CExpr<'b>) -> Option<&'a Expr<'a>>

fn detach_allocator(&self) -> Option<&'a Allocator<'a>>

Loading content...

Provided methods

fn visit_expr_(&mut self, expr: CExpr<'b>) -> Option<Expr<'a>>

fn visit_binding(&mut self, _: &Symbol) -> Option<Symbol>

fn visit_pattern(&mut self, expr: &'b Pattern) -> Option<Pattern>

fn visit_alt(&mut self, alt: &'b Alternative<'b>) -> Option<Alternative<'a>>

fn allocator(&self) -> &'a Allocator<'a>

Loading content...

Implementors

impl<'a> Visitor<'a, 'a> for SameLifetime<'a>[src]

type Producer = SameLifetime<'a>

impl<'a, 'b> Visitor<'a, 'b> for DifferentLifetime<'a, 'b>[src]

type Producer = DifferentLifetime<'a, 'b>

impl<'a, 'l, 'g, 'expr> Visitor<'l, 'expr> for Pure<'a, 'l, 'g>[src]

type Producer = DifferentLifetime<'l, 'expr>

impl<'e> Visitor<'e, 'e> for DepGraph<'e>[src]

type Producer = SameLifetime<'e>

Loading content...