Trait ra_ap_hir::db::DefDatabase [−][src]
pub trait DefDatabase: Database + HasQueryGroup<DefDatabaseStorage> + InternDatabase + AstDatabase + Upcast<dyn AstDatabase + 'static> {}Show methods
pub fn file_item_tree(&self, key0: HirFileId) -> Arc<ItemTree>; pub fn crate_def_map(&self, key0: CrateId) -> Arc<DefMap>; pub fn crate_def_map_query(&self, key0: CrateId) -> Arc<DefMap>; pub fn block_def_map(&self, key0: BlockId) -> Option<Arc<DefMap>>; pub fn struct_data(&self, key0: StructId) -> Arc<StructData>; pub fn union_data(&self, key0: UnionId) -> Arc<StructData>; pub fn enum_data(&self, key0: EnumId) -> Arc<EnumData>; pub fn impl_data(&self, key0: ImplId) -> Arc<ImplData>; pub fn trait_data(&self, key0: TraitId) -> Arc<TraitData>; pub fn type_alias_data(&self, key0: TypeAliasId) -> Arc<TypeAliasData>; pub fn function_data(&self, key0: FunctionId) -> Arc<FunctionData>; pub fn const_data(&self, key0: ConstId) -> Arc<ConstData>; pub fn static_data(&self, key0: StaticId) -> Arc<StaticData>; pub fn body_with_source_map(
&self,
key0: DefWithBodyId
) -> (Arc<Body>, Arc<BodySourceMap>); pub fn body(&self, key0: DefWithBodyId) -> Arc<Body>; pub fn expr_scopes(&self, key0: DefWithBodyId) -> Arc<ExprScopes>; pub fn generic_params(&self, key0: GenericDefId) -> Interned<GenericParams>; pub fn variants_attrs(
&self,
key0: EnumId
) -> Arc<ArenaMap<Idx<EnumVariantData>, Attrs>>; pub fn fields_attrs(
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Attrs>>; pub fn variants_attrs_source_map(
&self,
key0: EnumId
) -> Arc<ArenaMap<Idx<EnumVariantData>, AstPtr<Variant>>>; pub fn fields_attrs_source_map(
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Either<AstPtr<TupleField>, AstPtr<RecordField>>>>; pub fn attrs(&self, key0: AttrDefId) -> AttrsWithOwner; pub fn crate_lang_items(&self, key0: CrateId) -> Arc<LangItems>; pub fn lang_item(
&self,
key0: CrateId,
key1: SmolStr
) -> Option<LangItemTarget>; pub fn import_map(&self, key0: CrateId) -> Arc<ImportMap>; pub fn field_visibilities(
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Visibility>>; pub fn function_visibility(&self, key0: FunctionId) -> Visibility;
Required methods
pub fn file_item_tree(&self, key0: HirFileId) -> Arc<ItemTree>
[src]
pub fn crate_def_map(&self, key0: CrateId) -> Arc<DefMap>
[src]
pub fn crate_def_map_query(&self, key0: CrateId) -> Arc<DefMap>
[src]
pub fn block_def_map(&self, key0: BlockId) -> Option<Arc<DefMap>>
[src]
Computes the block-level DefMap
, returning None
when block
doesn’t contain any inner
items directly.
For example:
fn f() { // (0) { // (1) fn inner() {} } }
The block_def_map
for block 0 would return None
, while block_def_map
of block 1 would
return a DefMap
containing inner
.
pub fn struct_data(&self, key0: StructId) -> Arc<StructData>
[src]
pub fn union_data(&self, key0: UnionId) -> Arc<StructData>
[src]
pub fn enum_data(&self, key0: EnumId) -> Arc<EnumData>
[src]
pub fn impl_data(&self, key0: ImplId) -> Arc<ImplData>
[src]
pub fn trait_data(&self, key0: TraitId) -> Arc<TraitData>
[src]
pub fn type_alias_data(&self, key0: TypeAliasId) -> Arc<TypeAliasData>
[src]
pub fn function_data(&self, key0: FunctionId) -> Arc<FunctionData>
[src]
pub fn const_data(&self, key0: ConstId) -> Arc<ConstData>
[src]
pub fn static_data(&self, key0: StaticId) -> Arc<StaticData>
[src]
pub fn body_with_source_map(
&self,
key0: DefWithBodyId
) -> (Arc<Body>, Arc<BodySourceMap>)
[src]
&self,
key0: DefWithBodyId
) -> (Arc<Body>, Arc<BodySourceMap>)
pub fn body(&self, key0: DefWithBodyId) -> Arc<Body>
[src]
pub fn expr_scopes(&self, key0: DefWithBodyId) -> Arc<ExprScopes>
[src]
pub fn generic_params(&self, key0: GenericDefId) -> Interned<GenericParams>
[src]
pub fn variants_attrs(
&self,
key0: EnumId
) -> Arc<ArenaMap<Idx<EnumVariantData>, Attrs>>
[src]
&self,
key0: EnumId
) -> Arc<ArenaMap<Idx<EnumVariantData>, Attrs>>
pub fn fields_attrs(
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Attrs>>
[src]
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Attrs>>
pub fn variants_attrs_source_map(
&self,
key0: EnumId
) -> Arc<ArenaMap<Idx<EnumVariantData>, AstPtr<Variant>>>
[src]
&self,
key0: EnumId
) -> Arc<ArenaMap<Idx<EnumVariantData>, AstPtr<Variant>>>
pub fn fields_attrs_source_map(
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Either<AstPtr<TupleField>, AstPtr<RecordField>>>>
[src]
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Either<AstPtr<TupleField>, AstPtr<RecordField>>>>
pub fn attrs(&self, key0: AttrDefId) -> AttrsWithOwner
[src]
pub fn crate_lang_items(&self, key0: CrateId) -> Arc<LangItems>
[src]
pub fn lang_item(&self, key0: CrateId, key1: SmolStr) -> Option<LangItemTarget>
[src]
pub fn import_map(&self, key0: CrateId) -> Arc<ImportMap>
[src]
pub fn field_visibilities(
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Visibility>>
[src]
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Visibility>>
pub fn function_visibility(&self, key0: FunctionId) -> Visibility
[src]
Implementors
impl<DB> DefDatabase for DB where
DB: InternDatabase + AstDatabase + Upcast<dyn AstDatabase + 'static> + Database + HasQueryGroup<DefDatabaseStorage>,
[src]
DB: InternDatabase + AstDatabase + Upcast<dyn AstDatabase + 'static> + Database + HasQueryGroup<DefDatabaseStorage>,
pub fn file_item_tree(&self, key0: HirFileId) -> Arc<ItemTree>
[src]
pub fn crate_def_map(&self, key0: CrateId) -> Arc<DefMap>
[src]
pub fn crate_def_map_query(&self, key0: CrateId) -> Arc<DefMap>
[src]
pub fn block_def_map(&self, key0: BlockId) -> Option<Arc<DefMap>>
[src]
pub fn struct_data(&self, key0: StructId) -> Arc<StructData>
[src]
pub fn union_data(&self, key0: UnionId) -> Arc<StructData>
[src]
pub fn enum_data(&self, key0: EnumId) -> Arc<EnumData>
[src]
pub fn impl_data(&self, key0: ImplId) -> Arc<ImplData>
[src]
pub fn trait_data(&self, key0: TraitId) -> Arc<TraitData>
[src]
pub fn type_alias_data(&self, key0: TypeAliasId) -> Arc<TypeAliasData>
[src]
pub fn function_data(&self, key0: FunctionId) -> Arc<FunctionData>
[src]
pub fn const_data(&self, key0: ConstId) -> Arc<ConstData>
[src]
pub fn static_data(&self, key0: StaticId) -> Arc<StaticData>
[src]
pub fn body_with_source_map(
&self,
key0: DefWithBodyId
) -> (Arc<Body>, Arc<BodySourceMap>)
[src]
&self,
key0: DefWithBodyId
) -> (Arc<Body>, Arc<BodySourceMap>)
pub fn body(&self, key0: DefWithBodyId) -> Arc<Body>
[src]
pub fn expr_scopes(&self, key0: DefWithBodyId) -> Arc<ExprScopes>
[src]
pub fn generic_params(&self, key0: GenericDefId) -> Interned<GenericParams>
[src]
pub fn variants_attrs(
&self,
key0: EnumId
) -> Arc<ArenaMap<Idx<EnumVariantData>, Attrs>>
[src]
&self,
key0: EnumId
) -> Arc<ArenaMap<Idx<EnumVariantData>, Attrs>>
pub fn fields_attrs(
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Attrs>>
[src]
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Attrs>>
pub fn variants_attrs_source_map(
&self,
key0: EnumId
) -> Arc<ArenaMap<Idx<EnumVariantData>, AstPtr<Variant>>>
[src]
&self,
key0: EnumId
) -> Arc<ArenaMap<Idx<EnumVariantData>, AstPtr<Variant>>>
pub fn fields_attrs_source_map(
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Either<AstPtr<TupleField>, AstPtr<RecordField>>>>
[src]
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Either<AstPtr<TupleField>, AstPtr<RecordField>>>>
pub fn attrs(&self, key0: AttrDefId) -> AttrsWithOwner
[src]
pub fn crate_lang_items(&self, key0: CrateId) -> Arc<LangItems>
[src]
pub fn lang_item(&self, key0: CrateId, key1: SmolStr) -> Option<LangItemTarget>
[src]
pub fn import_map(&self, key0: CrateId) -> Arc<ImportMap>
[src]
pub fn field_visibilities(
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Visibility>>
[src]
&self,
key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Visibility>>