Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/db.rs')
-rw-r--r--crates/hir-def/src/db.rs152
1 files changed, 5 insertions, 147 deletions
diff --git a/crates/hir-def/src/db.rs b/crates/hir-def/src/db.rs
index ba0efe0ff1..9c7f4943db 100644
--- a/crates/hir-def/src/db.rs
+++ b/crates/hir-def/src/db.rs
@@ -9,24 +9,16 @@ use triomphe::Arc;
use crate::{
AnonConstId, AnonConstLoc, AssocItemId, AttrDefId, BlockId, BlockLoc, ConstId, ConstLoc,
- DefWithBodyId, EnumId, EnumLoc, EnumVariantId, EnumVariantLoc, ExpressionStoreOwner,
- ExternBlockId, ExternBlockLoc, ExternCrateId, ExternCrateLoc, FunctionId, FunctionLoc,
- GenericDefId, ImplId, ImplLoc, LocalFieldId, Macro2Id, Macro2Loc, MacroExpander, MacroId,
- MacroRulesId, MacroRulesLoc, MacroRulesLocFlags, ProcMacroId, ProcMacroLoc, StaticId,
- StaticLoc, StructId, StructLoc, TraitId, TraitLoc, TypeAliasId, TypeAliasLoc, UnionId,
- UnionLoc, UseId, UseLoc, VariantId,
+ EnumId, EnumLoc, EnumVariantId, EnumVariantLoc, ExternBlockId, ExternBlockLoc, ExternCrateId,
+ ExternCrateLoc, FunctionId, FunctionLoc, GenericDefId, ImplId, ImplLoc, LocalFieldId, Macro2Id,
+ Macro2Loc, MacroExpander, MacroId, MacroRulesId, MacroRulesLoc, MacroRulesLocFlags,
+ ProcMacroId, ProcMacroLoc, StaticId, StaticLoc, StructId, StructLoc, TraitId, TraitLoc,
+ TypeAliasId, TypeAliasLoc, UnionId, UnionLoc, UseId, UseLoc, VariantId,
attrs::AttrFlags,
- expr_store::{
- Body, BodySourceMap, ExpressionStore, ExpressionStoreSourceMap, scope::ExprScopes,
- },
hir::generics::GenericParams,
import_map::ImportMap,
item_tree::{ItemTree, file_item_tree_query},
nameres::crate_def_map,
- signatures::{
- ConstSignature, EnumSignature, FunctionSignature, ImplSignature, StaticSignature,
- StructSignature, TraitSignature, TypeAliasSignature, UnionSignature,
- },
visibility::{self, Visibility},
};
@@ -106,144 +98,10 @@ pub trait DefDatabase: InternDatabase + ExpandDatabase + SourceDatabase {
#[salsa::invoke(macro_def)]
fn macro_def(&self, m: MacroId) -> MacroDefId;
- // region:data
-
- #[salsa::tracked]
- fn trait_signature(&self, trait_: TraitId) -> Arc<TraitSignature> {
- self.trait_signature_with_source_map(trait_).0
- }
-
- #[salsa::tracked]
- fn impl_signature(&self, impl_: ImplId) -> Arc<ImplSignature> {
- self.impl_signature_with_source_map(impl_).0
- }
-
- #[salsa::tracked]
- fn struct_signature(&self, struct_: StructId) -> Arc<StructSignature> {
- self.struct_signature_with_source_map(struct_).0
- }
-
- #[salsa::tracked]
- fn union_signature(&self, union_: UnionId) -> Arc<UnionSignature> {
- self.union_signature_with_source_map(union_).0
- }
-
- #[salsa::tracked]
- fn enum_signature(&self, e: EnumId) -> Arc<EnumSignature> {
- self.enum_signature_with_source_map(e).0
- }
-
- #[salsa::tracked]
- fn const_signature(&self, e: ConstId) -> Arc<ConstSignature> {
- self.const_signature_with_source_map(e).0
- }
-
- #[salsa::tracked]
- fn static_signature(&self, e: StaticId) -> Arc<StaticSignature> {
- self.static_signature_with_source_map(e).0
- }
-
- #[salsa::tracked]
- fn function_signature(&self, e: FunctionId) -> Arc<FunctionSignature> {
- self.function_signature_with_source_map(e).0
- }
-
- #[salsa::tracked]
- fn type_alias_signature(&self, e: TypeAliasId) -> Arc<TypeAliasSignature> {
- self.type_alias_signature_with_source_map(e).0
- }
-
- #[salsa::invoke(TraitSignature::query)]
- fn trait_signature_with_source_map(
- &self,
- trait_: TraitId,
- ) -> (Arc<TraitSignature>, Arc<ExpressionStoreSourceMap>);
-
- #[salsa::invoke(ImplSignature::query)]
- fn impl_signature_with_source_map(
- &self,
- impl_: ImplId,
- ) -> (Arc<ImplSignature>, Arc<ExpressionStoreSourceMap>);
-
- #[salsa::invoke(StructSignature::query)]
- fn struct_signature_with_source_map(
- &self,
- struct_: StructId,
- ) -> (Arc<StructSignature>, Arc<ExpressionStoreSourceMap>);
-
- #[salsa::invoke(UnionSignature::query)]
- fn union_signature_with_source_map(
- &self,
- union_: UnionId,
- ) -> (Arc<UnionSignature>, Arc<ExpressionStoreSourceMap>);
-
- #[salsa::invoke(EnumSignature::query)]
- fn enum_signature_with_source_map(
- &self,
- e: EnumId,
- ) -> (Arc<EnumSignature>, Arc<ExpressionStoreSourceMap>);
-
- #[salsa::invoke(ConstSignature::query)]
- fn const_signature_with_source_map(
- &self,
- e: ConstId,
- ) -> (Arc<ConstSignature>, Arc<ExpressionStoreSourceMap>);
-
- #[salsa::invoke(StaticSignature::query)]
- fn static_signature_with_source_map(
- &self,
- e: StaticId,
- ) -> (Arc<StaticSignature>, Arc<ExpressionStoreSourceMap>);
-
- #[salsa::invoke(FunctionSignature::query)]
- fn function_signature_with_source_map(
- &self,
- e: FunctionId,
- ) -> (Arc<FunctionSignature>, Arc<ExpressionStoreSourceMap>);
-
- #[salsa::invoke(TypeAliasSignature::query)]
- fn type_alias_signature_with_source_map(
- &self,
- e: TypeAliasId,
- ) -> (Arc<TypeAliasSignature>, Arc<ExpressionStoreSourceMap>);
-
- // endregion:data
-
- #[salsa::invoke(Body::body_with_source_map_query)]
- #[salsa::lru(512)]
- fn body_with_source_map(&self, def: DefWithBodyId) -> (Arc<Body>, Arc<BodySourceMap>);
-
- #[salsa::invoke(Body::body_query)]
- fn body(&self, def: DefWithBodyId) -> Arc<Body>;
-
- #[salsa::invoke(ExprScopes::body_expr_scopes_query)]
- fn body_expr_scopes(&self, def: DefWithBodyId) -> Arc<ExprScopes>;
-
- #[salsa::invoke(ExprScopes::sig_expr_scopes_query)]
- fn sig_expr_scopes(&self, def: GenericDefId) -> Arc<ExprScopes>;
-
- #[salsa::transparent]
- #[salsa::invoke(ExprScopes::expr_scopes_query)]
- fn expr_scopes(&self, def: ExpressionStoreOwner) -> Arc<ExprScopes>;
-
#[salsa::transparent]
#[salsa::invoke(GenericParams::new)]
fn generic_params(&self, def: GenericDefId) -> Arc<GenericParams>;
- #[salsa::transparent]
- #[salsa::invoke(GenericParams::generic_params_and_store)]
- fn generic_params_and_store(
- &self,
- def: GenericDefId,
- ) -> (Arc<GenericParams>, Arc<ExpressionStore>);
-
- #[salsa::transparent]
- #[salsa::invoke(GenericParams::generic_params_and_store_and_source_map)]
- fn generic_params_and_store_and_source_map(
- &self,
- def: GenericDefId,
- ) -> (Arc<GenericParams>, Arc<ExpressionStore>, Arc<ExpressionStoreSourceMap>);
-
#[salsa::invoke(ImportMap::import_map_query)]
fn import_map(&self, krate: Crate) -> Arc<ImportMap>;