Trait DefDatabase

Source
pub trait DefDatabase:
    InternDatabase
    + ExpandDatabase
    + SourceDatabase
    + Upcast<dyn ExpandDatabase>
    + Upcast<dyn RootQueryDb> {
Show 52 methods // Required methods fn expand_proc_attr_macros(&self) -> bool; fn file_item_tree(&self, file_id: HirFileId) -> Arc<ItemTree>; fn block_item_tree(&self, block_id: BlockId) -> Arc<ItemTree>; fn file_item_tree_with_source_map( &self, file_id: HirFileId, ) -> (Arc<ItemTree>, Arc<ItemTreeSourceMaps>); fn block_item_tree_with_source_map( &self, block_id: BlockId, ) -> (Arc<ItemTree>, Arc<ItemTreeSourceMaps>); fn crate_local_def_map( &self, krate: Crate, ) -> (Arc<DefMap>, Arc<LocalDefMap>); fn crate_def_map(&self, krate: Crate) -> Arc<DefMap>; fn block_def_map(&self, block: BlockId) -> Arc<DefMap>; fn macro_def(&self, m: MacroId) -> MacroDefId; fn variant_data(&self, id: VariantId) -> Arc<VariantData>; fn variant_data_with_diagnostics( &self, id: VariantId, ) -> (Arc<VariantData>, DefDiagnostics); fn struct_data(&self, id: StructId) -> Arc<StructData>; fn union_data(&self, id: UnionId) -> Arc<StructData>; fn enum_data(&self, e: EnumId) -> Arc<EnumData>; fn enum_variants(&self, e: EnumId) -> Arc<EnumVariants>; fn enum_variant_data(&self, id: EnumVariantId) -> Arc<EnumVariantData>; fn impl_data(&self, e: ImplId) -> Arc<ImplData>; fn impl_items(&self, e: ImplId) -> Arc<ImplItems>; fn impl_items_with_diagnostics( &self, e: ImplId, ) -> (Arc<ImplItems>, DefDiagnostics); fn trait_data(&self, e: TraitId) -> Arc<TraitData>; fn trait_items(&self, e: TraitId) -> Arc<TraitItems>; fn trait_items_with_diagnostics( &self, tr: TraitId, ) -> (Arc<TraitItems>, DefDiagnostics); fn trait_alias_data(&self, e: TraitAliasId) -> Arc<TraitAliasData>; fn type_alias_data(&self, e: TypeAliasId) -> Arc<TypeAliasData>; fn function_data(&self, func: FunctionId) -> Arc<FunctionData>; fn const_data(&self, konst: ConstId) -> Arc<ConstData>; fn static_data(&self, statik: StaticId) -> Arc<StaticData>; fn macro2_data(&self, makro: Macro2Id) -> Arc<Macro2Data>; fn macro_rules_data(&self, makro: MacroRulesId) -> Arc<MacroRulesData>; fn proc_macro_data(&self, makro: ProcMacroId) -> Arc<ProcMacroData>; fn extern_crate_decl_data( &self, extern_crate: ExternCrateId, ) -> Arc<ExternCrateDeclData>; fn body_with_source_map( &self, def: DefWithBodyId, ) -> (Arc<Body>, Arc<BodySourceMap>); fn body(&self, def: DefWithBodyId) -> Arc<Body>; fn expr_scopes(&self, def: DefWithBodyId) -> Arc<ExprScopes>; fn generic_params(&self, def: GenericDefId) -> Arc<GenericParams>; fn generic_params_with_source_map( &self, def: GenericDefId, ) -> (Arc<GenericParams>, Option<Arc<TypesSourceMap>>); fn fields_attrs(&self, def: VariantId) -> Arc<ArenaMap<LocalFieldId, Attrs>>; fn fields_attrs_source_map( &self, def: VariantId, ) -> Arc<ArenaMap<LocalFieldId, AstPtr<Either<TupleField, RecordField>>>>; fn attrs(&self, def: AttrDefId) -> Attrs; fn lang_attr(&self, def: AttrDefId) -> Option<LangItem>; fn lang_item( &self, start_crate: Crate, item: LangItem, ) -> Option<LangItemTarget>; fn import_map(&self, krate: Crate) -> Arc<ImportMap>; fn field_visibilities( &self, var: VariantId, ) -> Arc<ArenaMap<LocalFieldId, Visibility>>; fn function_visibility(&self, def: FunctionId) -> Visibility; fn const_visibility(&self, def: ConstId) -> Visibility; fn crate_lang_items(&self, krate: Crate) -> Option<Arc<LangItems>>; fn notable_traits_in_deps(&self, krate: Crate) -> Arc<[Arc<[TraitId]>]>; fn crate_notable_traits(&self, krate: Crate) -> Option<Arc<[TraitId]>>; fn crate_supports_no_std(&self, crate_id: Crate) -> bool; fn include_macro_invoc( &self, crate_id: Crate, ) -> Arc<[(MacroCallId, EditionedFileId)]>; fn set_expand_proc_attr_macros(&mut self, __value: bool); fn set_expand_proc_attr_macros_with_durability( &mut self, __value: bool, durability: Durability, );
}

Required Methods§

Source

fn expand_proc_attr_macros(&self) -> bool

Source

fn file_item_tree(&self, file_id: HirFileId) -> Arc<ItemTree>

Source

fn block_item_tree(&self, block_id: BlockId) -> Arc<ItemTree>

Source

fn file_item_tree_with_source_map( &self, file_id: HirFileId, ) -> (Arc<ItemTree>, Arc<ItemTreeSourceMaps>)

Source

fn block_item_tree_with_source_map( &self, block_id: BlockId, ) -> (Arc<ItemTree>, Arc<ItemTreeSourceMaps>)

Source

fn crate_local_def_map(&self, krate: Crate) -> (Arc<DefMap>, Arc<LocalDefMap>)

Source

fn crate_def_map(&self, krate: Crate) -> Arc<DefMap>

Source

fn block_def_map(&self, block: BlockId) -> Arc<DefMap>

Source

fn macro_def(&self, m: MacroId) -> MacroDefId

Source

fn variant_data(&self, id: VariantId) -> Arc<VariantData>

Source

fn variant_data_with_diagnostics( &self, id: VariantId, ) -> (Arc<VariantData>, DefDiagnostics)

Source

fn struct_data(&self, id: StructId) -> Arc<StructData>

Source

fn union_data(&self, id: UnionId) -> Arc<StructData>

Source

fn enum_data(&self, e: EnumId) -> Arc<EnumData>

Source

fn enum_variants(&self, e: EnumId) -> Arc<EnumVariants>

Source

fn enum_variant_data(&self, id: EnumVariantId) -> Arc<EnumVariantData>

Source

fn impl_data(&self, e: ImplId) -> Arc<ImplData>

Source

fn impl_items(&self, e: ImplId) -> Arc<ImplItems>

Source

fn impl_items_with_diagnostics( &self, e: ImplId, ) -> (Arc<ImplItems>, DefDiagnostics)

Source

fn trait_data(&self, e: TraitId) -> Arc<TraitData>

Source

fn trait_items(&self, e: TraitId) -> Arc<TraitItems>

Source

fn trait_items_with_diagnostics( &self, tr: TraitId, ) -> (Arc<TraitItems>, DefDiagnostics)

Source

fn trait_alias_data(&self, e: TraitAliasId) -> Arc<TraitAliasData>

Source

fn type_alias_data(&self, e: TypeAliasId) -> Arc<TypeAliasData>

Source

fn function_data(&self, func: FunctionId) -> Arc<FunctionData>

Source

fn const_data(&self, konst: ConstId) -> Arc<ConstData>

Source

fn static_data(&self, statik: StaticId) -> Arc<StaticData>

Source

fn macro2_data(&self, makro: Macro2Id) -> Arc<Macro2Data>

Source

fn macro_rules_data(&self, makro: MacroRulesId) -> Arc<MacroRulesData>

Source

fn proc_macro_data(&self, makro: ProcMacroId) -> Arc<ProcMacroData>

Source

fn extern_crate_decl_data( &self, extern_crate: ExternCrateId, ) -> Arc<ExternCrateDeclData>

Source

fn body_with_source_map( &self, def: DefWithBodyId, ) -> (Arc<Body>, Arc<BodySourceMap>)

Source

fn body(&self, def: DefWithBodyId) -> Arc<Body>

Source

fn expr_scopes(&self, def: DefWithBodyId) -> Arc<ExprScopes>

Source

fn generic_params(&self, def: GenericDefId) -> Arc<GenericParams>

Source

fn generic_params_with_source_map( &self, def: GenericDefId, ) -> (Arc<GenericParams>, Option<Arc<TypesSourceMap>>)

Source

fn fields_attrs(&self, def: VariantId) -> Arc<ArenaMap<LocalFieldId, Attrs>>

Source

fn fields_attrs_source_map( &self, def: VariantId, ) -> Arc<ArenaMap<LocalFieldId, AstPtr<Either<TupleField, RecordField>>>>

Source

fn attrs(&self, def: AttrDefId) -> Attrs

Source

fn lang_attr(&self, def: AttrDefId) -> Option<LangItem>

Source

fn lang_item( &self, start_crate: Crate, item: LangItem, ) -> Option<LangItemTarget>

Source

fn import_map(&self, krate: Crate) -> Arc<ImportMap>

Source

fn field_visibilities( &self, var: VariantId, ) -> Arc<ArenaMap<LocalFieldId, Visibility>>

Source

fn function_visibility(&self, def: FunctionId) -> Visibility

Source

fn const_visibility(&self, def: ConstId) -> Visibility

Source

fn crate_lang_items(&self, krate: Crate) -> Option<Arc<LangItems>>

Source

fn notable_traits_in_deps(&self, krate: Crate) -> Arc<[Arc<[TraitId]>]>

Source

fn crate_notable_traits(&self, krate: Crate) -> Option<Arc<[TraitId]>>

Source

fn crate_supports_no_std(&self, crate_id: Crate) -> bool

Source

fn include_macro_invoc( &self, crate_id: Crate, ) -> Arc<[(MacroCallId, EditionedFileId)]>

Source

fn set_expand_proc_attr_macros(&mut self, __value: bool)

Source

fn set_expand_proc_attr_macros_with_durability( &mut self, __value: bool, durability: Durability, )

Implementors§

Source§

impl<DB> DefDatabase for DB
where DB: InternDatabase + ExpandDatabase + SourceDatabase + Upcast<dyn ExpandDatabase> + Upcast<dyn RootQueryDb>,