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]

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]

pub fn fields_attrs(
    &self,
    key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Attrs>>
[src]

pub fn variants_attrs_source_map(
    &self,
    key0: EnumId
) -> Arc<ArenaMap<Idx<EnumVariantData>, AstPtr<Variant>>>
[src]

pub fn fields_attrs_source_map(
    &self,
    key0: VariantId
) -> Arc<ArenaMap<Idx<FieldData>, Either<AstPtr<TupleField>, AstPtr<RecordField>>>>
[src]

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]

pub fn function_visibility(&self, key0: FunctionId) -> Visibility[src]

Loading content...

Implementors

impl<DB> DefDatabase for DB where
    DB: InternDatabase + AstDatabase + Upcast<dyn AstDatabase + 'static> + Database + HasQueryGroup<DefDatabaseStorage>, 
[src]

Loading content...