Trait syntex_syntax::ext::base::MacResult [] [src]

pub trait MacResult {
    fn make_expr(self: Box<Self>) -> Option<P<Expr>> { ... }
    fn make_items(self: Box<Self>) -> Option<SmallVector<P<Item>>> { ... }
    fn make_impl_items(self: Box<Self>) -> Option<SmallVector<P<ImplItem>>> { ... }
    fn make_pat(self: Box<Self>) -> Option<P<Pat>> { ... }
    fn make_stmts(self: Box<Self>) -> Option<SmallVector<P<Stmt>>> { ... }
    fn make_ty(self: Box<Self>) -> Option<P<Ty>> { ... }
}

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

fn make_expr(self: Box<Self>) -> Option<P<Expr>>

Create an expression.

fn make_items(self: Box<Self>) -> Option<SmallVector<P<Item>>>

Create zero or more items.

fn make_impl_items(self: Box<Self>) -> Option<SmallVector<P<ImplItem>>>

Create zero or more impl items.

fn make_pat(self: Box<Self>) -> Option<P<Pat>>

Create a pattern.

fn make_stmts(self: Box<Self>) -> Option<SmallVector<P<Stmt>>>

Create zero or more statements.

By default this attempts to create an expression statement, returning None if that fails.

fn make_ty(self: Box<Self>) -> Option<P<Ty>>

Implementors