[][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 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 allocator(&self) -> &'a Allocator<'a>

Loading content...

Implementors

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

type Producer = SameLifetime<'a>

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

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

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

type Producer = DifferentLifetime<'a, 'b>

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

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

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

type Producer = DifferentLifetime<'l, 'expr>

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

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

Loading content...