Enum syntax::ext::expand::AstFragment [−][src]
pub enum AstFragment {
OptExpr(Option<P<Expr>>),
Expr(P<Expr>),
Pat(P<Pat>),
Ty(P<Ty>),
Stmts(SmallVector<Stmt>),
Items(SmallVector<P<Item>>),
TraitItems(SmallVector<TraitItem>),
ImplItems(SmallVector<ImplItem>),
ForeignItems(SmallVector<ForeignItem>),
}A fragment of AST that can be produced by a single macro expansion. Can also serve as an input and intermediate result for macro expansion operations.
Variants
OptExpr(Option<P<Expr>>)Expr(P<Expr>)Pat(P<Pat>)Ty(P<Ty>)Stmts(SmallVector<Stmt>)Items(SmallVector<P<Item>>)TraitItems(SmallVector<TraitItem>)ImplItems(SmallVector<ImplItem>)ForeignItems(SmallVector<ForeignItem>)
Methods
impl AstFragment[src]
impl AstFragmentpub fn make_opt_expr(self) -> Option<P<Expr>>[src]
pub fn make_opt_expr(self) -> Option<P<Expr>>pub fn make_expr(self) -> P<Expr>[src]
pub fn make_expr(self) -> P<Expr>pub fn make_pat(self) -> P<Pat>[src]
pub fn make_pat(self) -> P<Pat>pub fn make_ty(self) -> P<Ty>[src]
pub fn make_ty(self) -> P<Ty>pub fn make_stmts(self) -> SmallVector<Stmt>[src]
pub fn make_stmts(self) -> SmallVector<Stmt>pub fn make_items(self) -> SmallVector<P<Item>>[src]
pub fn make_items(self) -> SmallVector<P<Item>>pub fn make_trait_items(self) -> SmallVector<TraitItem>[src]
pub fn make_trait_items(self) -> SmallVector<TraitItem>pub fn make_impl_items(self) -> SmallVector<ImplItem>[src]
pub fn make_impl_items(self) -> SmallVector<ImplItem>pub fn make_foreign_items(self) -> SmallVector<ForeignItem>[src]
pub fn make_foreign_items(self) -> SmallVector<ForeignItem>pub fn fold_with<F: Folder>(self, folder: &mut F) -> Self[src]
pub fn fold_with<F: Folder>(self, folder: &mut F) -> Selfpub fn visit_with<'a, V: Visitor<'a>>(&'a self, visitor: &mut V)[src]
pub fn visit_with<'a, V: Visitor<'a>>(&'a self, visitor: &mut V)Auto Trait Implementations
impl !Send for AstFragment
impl !Send for AstFragmentimpl !Sync for AstFragment
impl !Sync for AstFragment