Struct syntax::ext::expand::MacroExpander[src]

pub struct MacroExpander<'a, 'b> {
    pub extsbox: SyntaxEnv,
    pub cx: &'a mut ExtCtxt<'b>,
}

Fields

extsbox
cx

Trait Implementations

impl<'a, 'b> Folder for MacroExpander<'a, 'b>

fn fold_expr(&mut self, expr: Gc<Expr>) -> Gc<Expr>

fn fold_pat(&mut self, pat: Gc<Pat>) -> Gc<Pat>

fn fold_item(&mut self, item: Gc<Item>) -> SmallVector<Gc<Item>>

fn fold_stmt(&mut self, stmt: &Stmt) -> SmallVector<Gc<Stmt>>

fn fold_block(&mut self, block: P<Block>) -> P<Block>

fn new_span(&mut self, span: Span) -> Span

fn fold_crate(&mut self, c: Crate) -> Crate

fn fold_meta_items(&mut self, meta_items: &[Gc<MetaItem>]) -> Vec<Gc<MetaItem>>

fn fold_view_path(&mut self, view_path: Gc<ViewPath>) -> Gc<ViewPath>

fn fold_view_item(&mut self, vi: &ViewItem) -> ViewItem

fn fold_foreign_item(&mut self, ni: Gc<ForeignItem>) -> Gc<ForeignItem>

fn fold_struct_field(&mut self, sf: &StructField) -> StructField

fn fold_item_underscore(&mut self, i: &Item_) -> Item_

fn fold_fn_decl(&mut self, d: &FnDecl) -> P<FnDecl>

fn fold_type_method(&mut self, m: &TypeMethod) -> TypeMethod

fn fold_method(&mut self, m: Gc<Method>) -> Gc<Method>

fn fold_arm(&mut self, a: &Arm) -> Arm

fn fold_decl(&mut self, d: Gc<Decl>) -> SmallVector<Gc<Decl>>

fn fold_ty(&mut self, t: P<Ty>) -> P<Ty>

fn fold_mod(&mut self, m: &Mod) -> Mod

fn fold_foreign_mod(&mut self, nm: &ForeignMod) -> ForeignMod

fn fold_variant(&mut self, v: &Variant) -> P<Variant>

fn fold_ident(&mut self, i: Ident) -> Ident

fn fold_path(&mut self, p: &Path) -> Path

fn fold_local(&mut self, l: Gc<Local>) -> Gc<Local>

fn fold_mac(&mut self, macro: &Mac) -> Mac

fn map_exprs(&self, f: |Gc<Expr>| -> Gc<Expr>, es: &[Gc<Expr>]) -> Vec<Gc<Expr>>

fn new_id(&mut self, i: NodeId) -> NodeId

fn fold_explicit_self(&mut self, es: &ExplicitSelf) -> ExplicitSelf

fn fold_explicit_self_(&mut self, es: &ExplicitSelf_) -> ExplicitSelf_

fn fold_lifetime(&mut self, l: &Lifetime) -> Lifetime