Struct rustc_expand::placeholders::PlaceholderExpander[−][src]

pub struct PlaceholderExpander<'a, 'b> {
    expanded_fragments: FxHashMap<NodeId, AstFragment>,
    cx: &'a mut ExtCtxt<'b>,
    monotonic: bool,
}

Fields

expanded_fragments: FxHashMap<NodeId, AstFragment>cx: &'a mut ExtCtxt<'b>monotonic: bool

Implementations

impl<'a, 'b> PlaceholderExpander<'a, 'b>[src]

pub fn new(cx: &'a mut ExtCtxt<'b>, monotonic: bool) -> Self[src]

pub fn add(&mut self, id: NodeId, fragment: AstFragment)[src]

fn remove(&mut self, id: NodeId) -> AstFragment[src]

Trait Implementations

impl<'a, 'b> MutVisitor for PlaceholderExpander<'a, 'b>[src]

fn flat_map_arm(&mut self, arm: Arm) -> SmallVec<[Arm; 1]>[src]

fn flat_map_expr_field(&mut self, field: ExprField) -> SmallVec<[ExprField; 1]>[src]

fn flat_map_pat_field(&mut self, fp: PatField) -> SmallVec<[PatField; 1]>[src]

fn flat_map_generic_param(
    &mut self,
    param: GenericParam
) -> SmallVec<[GenericParam; 1]>
[src]

fn flat_map_param(&mut self, p: Param) -> SmallVec<[Param; 1]>[src]

fn flat_map_field_def(&mut self, sf: FieldDef) -> SmallVec<[FieldDef; 1]>[src]

fn flat_map_variant(&mut self, variant: Variant) -> SmallVec<[Variant; 1]>[src]

fn flat_map_item(&mut self, item: P<Item>) -> SmallVec<[P<Item>; 1]>[src]

fn flat_map_trait_item(
    &mut self,
    item: P<AssocItem>
) -> SmallVec<[P<AssocItem>; 1]>
[src]

fn flat_map_impl_item(
    &mut self,
    item: P<AssocItem>
) -> SmallVec<[P<AssocItem>; 1]>
[src]

fn flat_map_foreign_item(
    &mut self,
    item: P<ForeignItem>
) -> SmallVec<[P<ForeignItem>; 1]>
[src]

fn visit_expr(&mut self, expr: &mut P<Expr>)[src]

fn filter_map_expr(&mut self, expr: P<Expr>) -> Option<P<Expr>>[src]

fn flat_map_stmt(&mut self, stmt: Stmt) -> SmallVec<[Stmt; 1]>[src]

fn visit_pat(&mut self, pat: &mut P<Pat>)[src]

fn visit_ty(&mut self, ty: &mut P<Ty>)[src]

fn visit_block(&mut self, block: &mut P<Block>)[src]

fn token_visiting_enabled(&self) -> bool[src]

Mutable token visiting only exists for the macro_rules token marker and should not be used otherwise. Token visitor would be entirely separate from the regular visitor if the marker didn’t have to visit AST fragments in nonterminal tokens. Read more

fn visit_crate(&mut self, c: &mut Crate)[src]

fn visit_meta_list_item(&mut self, list_item: &mut NestedMetaItem)[src]

fn visit_meta_item(&mut self, meta_item: &mut MetaItem)[src]

fn visit_use_tree(&mut self, use_tree: &mut UseTree)[src]

fn visit_fn_header(&mut self, header: &mut FnHeader)[src]

fn visit_item_kind(&mut self, i: &mut ItemKind)[src]

fn visit_fn_decl(&mut self, d: &mut P<FnDecl>)[src]

fn visit_asyncness(&mut self, a: &mut Async)[src]

fn visit_anon_const(&mut self, c: &mut AnonConst)[src]

fn visit_generic_arg(&mut self, arg: &mut GenericArg)[src]

fn visit_lifetime(&mut self, l: &mut Lifetime)[src]

fn visit_ty_constraint(&mut self, t: &mut AssocTyConstraint)[src]

fn visit_foreign_mod(&mut self, nm: &mut ForeignMod)[src]

fn visit_ident(&mut self, i: &mut Ident)[src]

fn visit_path(&mut self, p: &mut Path)[src]

fn visit_qself(&mut self, qs: &mut Option<QSelf>)[src]

fn visit_generic_args(&mut self, p: &mut GenericArgs)[src]

fn visit_angle_bracketed_parameter_data(&mut self, p: &mut AngleBracketedArgs)[src]

fn visit_parenthesized_parameter_data(&mut self, p: &mut ParenthesizedArgs)[src]

fn visit_local(&mut self, l: &mut P<Local>)[src]

fn visit_mac_call(&mut self, mac: &mut MacCall)[src]

fn visit_macro_def(&mut self, def: &mut MacroDef)[src]

fn visit_label(&mut self, label: &mut Label)[src]

fn visit_attribute(&mut self, at: &mut Attribute)[src]

fn visit_generics(&mut self, generics: &mut Generics)[src]

fn visit_trait_ref(&mut self, tr: &mut TraitRef)[src]

fn visit_poly_trait_ref(&mut self, p: &mut PolyTraitRef)[src]

fn visit_variant_data(&mut self, vdata: &mut VariantData)[src]

fn visit_param_bound(&mut self, tpb: &mut GenericBound)[src]

fn visit_mt(&mut self, mt: &mut MutTy)[src]

fn visit_where_clause(&mut self, where_clause: &mut WhereClause)[src]

fn visit_where_predicate(&mut self, where_predicate: &mut WherePredicate)[src]

fn visit_vis(&mut self, vis: &mut Visibility)[src]

fn visit_id(&mut self, _id: &mut NodeId)[src]

fn visit_span(&mut self, _sp: &mut Span)[src]

Auto Trait Implementations

impl<'a, 'b> !RefUnwindSafe for PlaceholderExpander<'a, 'b>

impl<'a, 'b> !Send for PlaceholderExpander<'a, 'b>

impl<'a, 'b> !Sync for PlaceholderExpander<'a, 'b>

impl<'a, 'b> Unpin for PlaceholderExpander<'a, 'b> where
    'b: 'a, 

impl<'a, 'b> !UnwindSafe for PlaceholderExpander<'a, 'b>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.