Trait rustc_expand::base::MacResult [−][src]
pub trait MacResult {
Show 15 methods
fn make_expr(self: Box<Self>) -> Option<P<Expr>> { ... }
fn make_items(self: Box<Self>) -> Option<SmallVec<[P<Item>; 1]>> { ... }
fn make_impl_items(self: Box<Self>) -> Option<SmallVec<[P<AssocItem>; 1]>> { ... }
fn make_trait_items(self: Box<Self>) -> Option<SmallVec<[P<AssocItem>; 1]>> { ... }
fn make_foreign_items(
self: Box<Self>
) -> Option<SmallVec<[P<ForeignItem>; 1]>> { ... }
fn make_pat(self: Box<Self>) -> Option<P<Pat>> { ... }
fn make_stmts(self: Box<Self>) -> Option<SmallVec<[Stmt; 1]>> { ... }
fn make_ty(self: Box<Self>) -> Option<P<Ty>> { ... }
fn make_arms(self: Box<Self>) -> Option<SmallVec<[Arm; 1]>> { ... }
fn make_expr_fields(self: Box<Self>) -> Option<SmallVec<[ExprField; 1]>> { ... }
fn make_pat_fields(self: Box<Self>) -> Option<SmallVec<[PatField; 1]>> { ... }
fn make_generic_params(
self: Box<Self>
) -> Option<SmallVec<[GenericParam; 1]>> { ... }
fn make_params(self: Box<Self>) -> Option<SmallVec<[Param; 1]>> { ... }
fn make_field_defs(self: Box<Self>) -> Option<SmallVec<[FieldDef; 1]>> { ... }
fn make_variants(self: Box<Self>) -> Option<SmallVec<[Variant; 1]>> { ... }
}
Expand description
The result of a macro expansion. The return values of the various methods are spliced into the AST at the callsite of the macro.
Provided methods
Creates zero or more impl items.
Creates zero or more trait items.
fn make_foreign_items(self: Box<Self>) -> Option<SmallVec<[P<ForeignItem>; 1]>>
fn make_foreign_items(self: Box<Self>) -> Option<SmallVec<[P<ForeignItem>; 1]>>
Creates zero or more items in an extern {}
block
Creates zero or more statements.
By default this attempts to create an expression statement, returning None if that fails.