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

pub trait MacResult {
    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<[ImplItem; 1]>> { ... }
fn make_trait_items(self: Box<Self>) -> Option<SmallVec<[TraitItem; 1]>> { ... }
fn make_foreign_items(self: Box<Self>) -> Option<SmallVec<[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>> { ... } }

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>>

Creates an expression.

fn make_items(self: Box<Self>) -> Option<SmallVec<[P<Item>; 1]>>

Creates zero or more items.

fn make_impl_items(self: Box<Self>) -> Option<SmallVec<[ImplItem; 1]>>

Creates zero or more impl items.

fn make_trait_items(self: Box<Self>) -> Option<SmallVec<[TraitItem; 1]>>

Creates zero or more trait items.

fn make_foreign_items(self: Box<Self>) -> Option<SmallVec<[ForeignItem; 1]>>

Creates zero or more items in an extern {} block

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

Creates a pattern.

fn make_stmts(self: Box<Self>) -> Option<SmallVec<[Stmt; 1]>>

Creates 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>>

Loading content...

Implementors

impl MacResult for DummyResult[src]

impl MacResult for MacEager[src]

impl<'a> MacResult for ParserAnyMacro<'a>[src]

Loading content...