Struct rustc_expand::expand::InvocationCollector [−][src]
Fields
cx: &'a mut ExtCtxt<'b>cfg: StripUnconfigured<'a>invocations: Vec<(Invocation, Option<Lrc<SyntaxExtension>>)>monotonic: boolImplementations
impl<'a, 'b> InvocationCollector<'a, 'b>[src]
fn collect(
&mut self,
fragment_kind: AstFragmentKind,
kind: InvocationKind
) -> AstFragment[src]
&mut self,
fragment_kind: AstFragmentKind,
kind: InvocationKind
) -> AstFragment
fn collect_bang(
&mut self,
mac: MacCall,
span: Span,
kind: AstFragmentKind
) -> AstFragment[src]
&mut self,
mac: MacCall,
span: Span,
kind: AstFragmentKind
) -> AstFragment
fn collect_attr(
&mut self,
(attr, pos, derives): (Attribute, usize, Vec<Path>),
item: Annotatable,
kind: AstFragmentKind
) -> AstFragment[src]
&mut self,
(attr, pos, derives): (Attribute, usize, Vec<Path>),
item: Annotatable,
kind: AstFragmentKind
) -> AstFragment
fn take_first_attr(
&mut self,
item: &mut impl AstLike
) -> Option<(Attribute, usize, Vec<Path>)>[src]
&mut self,
item: &mut impl AstLike
) -> Option<(Attribute, usize, Vec<Path>)>
If item is an attribute invocation, remove the attribute and return it together with
its position and derives following it. We have to collect the derives in order to resolve
legacy derive helpers (helpers written before derives that introduce them).
fn configure<T: AstLike>(&mut self, node: T) -> Option<T>[src]
fn check_attributes(&mut self, attrs: &[Attribute])[src]
Trait Implementations
impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b>[src]
fn visit_expr(&mut self, expr: &mut P<Expr>)[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_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 filter_map_expr(&mut self, expr: P<Expr>) -> Option<P<Expr>>[src]
fn visit_pat(&mut self, pat: &mut P<Pat>)[src]
fn flat_map_stmt(&mut self, stmt: Stmt) -> SmallVec<[Stmt; 1]>[src]
fn visit_block(&mut self, block: &mut P<Block>)[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]
&mut self,
item: P<AssocItem>
) -> SmallVec<[P<AssocItem>; 1]>
fn flat_map_impl_item(
&mut self,
item: P<AssocItem>
) -> SmallVec<[P<AssocItem>; 1]>[src]
&mut self,
item: P<AssocItem>
) -> SmallVec<[P<AssocItem>; 1]>
fn visit_ty(&mut self, ty: &mut P<Ty>)[src]
fn flat_map_foreign_item(
&mut self,
foreign_item: P<ForeignItem>
) -> SmallVec<[P<ForeignItem>; 1]>[src]
&mut self,
foreign_item: P<ForeignItem>
) -> SmallVec<[P<ForeignItem>; 1]>
fn flat_map_generic_param(
&mut self,
param: GenericParam
) -> SmallVec<[GenericParam; 1]>[src]
&mut self,
param: GenericParam
) -> SmallVec<[GenericParam; 1]>
fn visit_attribute(&mut self, at: &mut Attribute)[src]
fn visit_id(&mut self, id: &mut NodeId)[src]
pub fn token_visiting_enabled(&self) -> bool[src]
pub fn visit_crate(&mut self, c: &mut Crate)[src]
pub fn visit_meta_list_item(&mut self, list_item: &mut NestedMetaItem)[src]
pub fn visit_meta_item(&mut self, meta_item: &mut MetaItem)[src]
pub fn visit_use_tree(&mut self, use_tree: &mut UseTree)[src]
pub fn visit_fn_header(&mut self, header: &mut FnHeader)[src]
pub fn visit_item_kind(&mut self, i: &mut ItemKind)[src]
pub fn visit_fn_decl(&mut self, d: &mut P<FnDecl>)[src]
pub fn visit_asyncness(&mut self, a: &mut Async)[src]
pub fn visit_anon_const(&mut self, c: &mut AnonConst)[src]
pub fn visit_generic_arg(&mut self, arg: &mut GenericArg)[src]
pub fn visit_lifetime(&mut self, l: &mut Lifetime)[src]
pub fn visit_ty_constraint(&mut self, t: &mut AssocTyConstraint)[src]
pub fn visit_foreign_mod(&mut self, nm: &mut ForeignMod)[src]
pub fn visit_ident(&mut self, i: &mut Ident)[src]
pub fn visit_path(&mut self, p: &mut Path)[src]
pub fn visit_qself(&mut self, qs: &mut Option<QSelf>)[src]
pub fn visit_generic_args(&mut self, p: &mut GenericArgs)[src]
pub fn visit_angle_bracketed_parameter_data(
&mut self,
p: &mut AngleBracketedArgs
)[src]
&mut self,
p: &mut AngleBracketedArgs
)
pub fn visit_parenthesized_parameter_data(&mut self, p: &mut ParenthesizedArgs)[src]
pub fn visit_local(&mut self, l: &mut P<Local>)[src]
pub fn visit_mac_call(&mut self, mac: &mut MacCall)[src]
pub fn visit_macro_def(&mut self, def: &mut MacroDef)[src]
pub fn visit_label(&mut self, label: &mut Label)[src]
pub fn visit_generics(&mut self, generics: &mut Generics)[src]
pub fn visit_trait_ref(&mut self, tr: &mut TraitRef)[src]
pub fn visit_poly_trait_ref(&mut self, p: &mut PolyTraitRef)[src]
pub fn visit_variant_data(&mut self, vdata: &mut VariantData)[src]
pub fn visit_param_bound(&mut self, tpb: &mut GenericBound)[src]
pub fn visit_mt(&mut self, mt: &mut MutTy)[src]
pub fn visit_where_clause(&mut self, where_clause: &mut WhereClause)[src]
pub fn visit_where_predicate(&mut self, where_predicate: &mut WherePredicate)[src]
pub fn visit_vis(&mut self, vis: &mut Visibility)[src]
pub fn visit_span(&mut self, _sp: &mut Span)[src]
Auto Trait Implementations
impl<'a, 'b> !RefUnwindSafe for InvocationCollector<'a, 'b>
impl<'a, 'b> !Send for InvocationCollector<'a, 'b>
impl<'a, 'b> !Sync for InvocationCollector<'a, 'b>
impl<'a, 'b> Unpin for InvocationCollector<'a, 'b> where
'b: 'a,
'b: 'a,
impl<'a, 'b> !UnwindSafe for InvocationCollector<'a, 'b>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,