[][src]Trait gluon::compiler_pipeline::MacroExpandable

pub trait MacroExpandable {
    type Expr: BorrowMut<SpannedExpr<Symbol>>;
    fn expand_macro_with(
        self,
        compiler: &mut Compiler,
        macros: &mut MacroExpander,
        file: &str,
        expr_str: &str
    ) -> SalvageResult<MacroValue<Self::Expr>>; fn expand_macro(
        self,
        compiler: &mut Compiler,
        thread: &Thread,
        file: &str,
        expr_str: &str
    ) -> SalvageResult<MacroValue<Self::Expr>>
    where
        Self: Sized
, { ... } }

Associated Types

Loading content...

Required methods

fn expand_macro_with(
    self,
    compiler: &mut Compiler,
    macros: &mut MacroExpander,
    file: &str,
    expr_str: &str
) -> SalvageResult<MacroValue<Self::Expr>>

Loading content...

Provided methods

fn expand_macro(
    self,
    compiler: &mut Compiler,
    thread: &Thread,
    file: &str,
    expr_str: &str
) -> SalvageResult<MacroValue<Self::Expr>> where
    Self: Sized

Loading content...

Implementations on Foreign Types

impl<'s> MacroExpandable for &'s str[src]

type Expr = SpannedExpr<Symbol>

fn expand_macro(
    self,
    compiler: &mut Compiler,
    thread: &Thread,
    file: &str,
    expr_str: &str
) -> SalvageResult<MacroValue<Self::Expr>> where
    Self: Sized
[src]

impl<'s> MacroExpandable for &'s mut SpannedExpr<Symbol>[src]

type Expr = &'s mut SpannedExpr<Symbol>

fn expand_macro(
    self,
    compiler: &mut Compiler,
    thread: &Thread,
    file: &str,
    expr_str: &str
) -> SalvageResult<MacroValue<Self::Expr>> where
    Self: Sized
[src]

impl MacroExpandable for SpannedExpr<Symbol>[src]

type Expr = SpannedExpr<Symbol>

fn expand_macro(
    self,
    compiler: &mut Compiler,
    thread: &Thread,
    file: &str,
    expr_str: &str
) -> SalvageResult<MacroValue<Self::Expr>> where
    Self: Sized
[src]

Loading content...

Implementors

Loading content...