Struct rustc_resolve::Resolver [] [src]

pub struct Resolver<'a> {
    pub def_map: DefMap,
    pub freevars: FreevarMap,
    pub export_map: ExportMap,
    pub trait_map: TraitMap,
    pub make_glob_map: bool,
    pub glob_map: GlobMap,
    pub maybe_unused_trait_imports: NodeSet,
    // some fields omitted
}
Unstable (rustc_private)

The main resolver class.

Fields

def_map: DefMap
Unstable (rustc_private)
freevars: FreevarMap
Unstable (rustc_private)
export_map: ExportMap
Unstable (rustc_private)
trait_map: TraitMap
Unstable (rustc_private)
make_glob_map: bool
Unstable (rustc_private)
glob_map: GlobMap
Unstable (rustc_private)
maybe_unused_trait_imports: NodeSet
Unstable (rustc_private)

Methods

impl<'b> Resolver<'b>
[src]

fn build_reduced_graph(&mut self, krate: &Crate)

Unstable (rustc_private)

Constructs the reduced graph for the entire crate.

fn populate_module_if_necessary(&mut self, module: Module<'b>)

Unstable (rustc_private)

Ensures that the reduced graph rooted at the given external module is built, building it if it is not.

Trait Implementations

impl<'a, 'v> Visitor<'v> for Resolver<'a>
[src]

fn visit_item(&mut self, item: &Item)

fn visit_arm(&mut self, arm: &Arm)

fn visit_block(&mut self, block: &Block)

fn visit_expr(&mut self, expr: &Expr)

fn visit_local(&mut self, local: &Local)

fn visit_ty(&mut self, ty: &Ty)

fn visit_generics(&mut self, generics: &Generics)

fn visit_poly_trait_ref(&mut self, tref: &PolyTraitRef, m: &TraitBoundModifier)

fn visit_variant(&mut self, variant: &Variant, generics: &Generics, item_id: NodeId)

fn visit_foreign_item(&mut self, foreign_item: &ForeignItem)

fn visit_fn(&mut self, function_kind: FnKind<'v>, declaration: &'v FnDecl, block: &'v Block, _: Span, node_id: NodeId)

fn visit_name(&mut self, _span: Span, _name: Name)

fn visit_ident(&mut self, span: Span, ident: Ident)

fn visit_mod(&mut self, m: &'v Mod, _s: Span, _n: u32)

fn visit_stmt(&mut self, s: &'v Spanned<StmtKind>)

fn visit_pat(&mut self, p: &'v Pat)

fn visit_decl(&mut self, d: &'v Spanned<DeclKind>)

fn visit_expr_post(&mut self, _ex: &'v Expr)

fn visit_trait_item(&mut self, ti: &'v TraitItem)

fn visit_impl_item(&mut self, ii: &'v ImplItem)

fn visit_trait_ref(&mut self, t: &'v TraitRef)

fn visit_ty_param_bound(&mut self, bounds: &'v TyParamBound)

fn visit_variant_data(&mut self, s: &'v VariantData, Ident, &'v Generics, u32, Span)

fn visit_struct_field(&mut self, s: &'v StructField)

fn visit_enum_def(&mut self, enum_definition: &'v EnumDef, generics: &'v Generics, item_id: u32, Span)

fn visit_lifetime(&mut self, lifetime: &'v Lifetime)

fn visit_lifetime_def(&mut self, lifetime: &'v LifetimeDef)

fn visit_explicit_self(&mut self, es: &'v Spanned<SelfKind>)

fn visit_mac(&mut self, _mac: &'v Spanned<Mac_>)

fn visit_path(&mut self, path: &'v Path, _id: u32)

fn visit_path_list_item(&mut self, prefix: &'v Path, item: &'v Spanned<PathListItemKind>)

fn visit_path_segment(&mut self, path_span: Span, path_segment: &'v PathSegment)

fn visit_path_parameters(&mut self, path_span: Span, path_parameters: &'v PathParameters)

fn visit_assoc_type_binding(&mut self, type_binding: &'v TypeBinding)

fn visit_attribute(&mut self, _attr: &'v Spanned<Attribute_>)

fn visit_macro_def(&mut self, macro_def: &'v MacroDef)

fn visit_vis(&mut self, vis: &'v Visibility)

impl<'a> NodeIdTree for Resolver<'a>
[src]

fn is_descendant_of(&self, node: NodeId, ancestor: NodeId) -> bool

impl<'a> Resolver for Resolver<'a>
[src]

fn resolve_generated_global_path(&mut self, path: &Path, is_value: bool) -> Def

fn get_resolution(&mut self, id: NodeId) -> Option<PathResolution>

fn record_resolution(&mut self, id: NodeId, def: Def)

fn definitions(&mut self) -> Option<&mut Definitions>