Trait syntax::fold::Folder[src]
pub trait Folder {
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_item(&mut self, i: Gc<Item>) -> SmallVector<Gc<Item>> { ... }
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_block(&mut self, b: P<Block>) -> P<Block> { ... }
fn fold_stmt(&mut self, s: &Stmt) -> SmallVector<Gc<Stmt>> { ... }
fn fold_arm(&mut self, a: &Arm) -> Arm { ... }
fn fold_pat(&mut self, p: Gc<Pat>) -> Gc<Pat> { ... }
fn fold_decl(&mut self, d: Gc<Decl>) -> SmallVector<Gc<Decl>> { ... }
fn fold_expr(&mut self, e: Gc<Expr>) -> Gc<Expr> { ... }
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 new_span(&mut self, sp: Span) -> Span { ... }
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 { ... }
}
Provided Methods
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_item(&mut self, i: Gc<Item>) -> SmallVector<Gc<Item>>
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_block(&mut self, b: P<Block>) -> P<Block>
fn fold_stmt(&mut self, s: &Stmt) -> SmallVector<Gc<Stmt>>
fn fold_arm(&mut self, a: &Arm) -> Arm
fn fold_pat(&mut self, p: Gc<Pat>) -> Gc<Pat>
fn fold_decl(&mut self, d: Gc<Decl>) -> SmallVector<Gc<Decl>>
fn fold_expr(&mut self, e: Gc<Expr>) -> Gc<Expr>
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 new_span(&mut self, sp: Span) -> Span
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
Implementors
impl<'a, F: FoldOps> Folder for Ctx<'a, F>impl<'a> Folder for IdentRenamer<'a>impl<'a, 'b> Folder for MacroExpander<'a, 'b>