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 AstFragment
pub 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) -> Self
pub 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 AstFragment
impl !Sync for AstFragment
impl !Sync for AstFragment