Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/hir-def/src/data.rs7
-rw-r--r--crates/hir-def/src/data/adt.rs3
-rw-r--r--crates/hir-def/src/db.rs5
-rw-r--r--crates/hir/src/db.rs22
-rw-r--r--crates/ide-db/src/apply_change.rs5
-rw-r--r--crates/ide-db/src/lib.rs5
6 files changed, 21 insertions, 26 deletions
diff --git a/crates/hir-def/src/data.rs b/crates/hir-def/src/data.rs
index a42d6bb337..ca02b5d68e 100644
--- a/crates/hir-def/src/data.rs
+++ b/crates/hir-def/src/data.rs
@@ -233,6 +233,7 @@ pub struct TraitData {
}
impl TraitData {
+ #[inline]
pub(crate) fn trait_data_query(db: &dyn DefDatabase, tr: TraitId) -> Arc<TraitData> {
db.trait_data_with_diagnostics(tr).0
}
@@ -241,12 +242,9 @@ impl TraitData {
db: &dyn DefDatabase,
tr: TraitId,
) -> (Arc<TraitData>, DefDiagnostics) {
- let tr_loc @ ItemLoc { container: module_id, id: tree_id } = tr.lookup(db);
+ let ItemLoc { container: module_id, id: tree_id } = tr.lookup(db);
let item_tree = tree_id.item_tree(db);
let tr_def = &item_tree[tree_id.value];
- let _cx = stdx::panic_context::enter(format!(
- "trait_data_query({tr:?} -> {tr_loc:?} -> {tr_def:?})"
- ));
let name = tr_def.name.clone();
let is_auto = tr_def.is_auto;
let is_unsafe = tr_def.is_unsafe;
@@ -333,6 +331,7 @@ pub struct ImplData {
}
impl ImplData {
+ #[inline]
pub(crate) fn impl_data_query(db: &dyn DefDatabase, id: ImplId) -> Arc<ImplData> {
db.impl_data_with_diagnostics(id).0
}
diff --git a/crates/hir-def/src/data/adt.rs b/crates/hir-def/src/data/adt.rs
index 5d44371521..5986b7df3d 100644
--- a/crates/hir-def/src/data/adt.rs
+++ b/crates/hir-def/src/data/adt.rs
@@ -180,6 +180,7 @@ fn parse_repr_tt(tt: &Subtree) -> Option<ReprOptions> {
}
impl StructData {
+ #[inline]
pub(crate) fn struct_data_query(db: &dyn DefDatabase, id: StructId) -> Arc<StructData> {
db.struct_data_with_diagnostics(id).0
}
@@ -236,6 +237,7 @@ impl StructData {
)
}
+ #[inline]
pub(crate) fn union_data_query(db: &dyn DefDatabase, id: UnionId) -> Arc<StructData> {
db.union_data_with_diagnostics(id).0
}
@@ -322,6 +324,7 @@ impl EnumData {
}
impl EnumVariantData {
+ #[inline]
pub(crate) fn enum_variant_data_query(
db: &dyn DefDatabase,
e: EnumVariantId,
diff --git a/crates/hir-def/src/db.rs b/crates/hir-def/src/db.rs
index 186a8cf2d9..c1127ccaaf 100644
--- a/crates/hir-def/src/db.rs
+++ b/crates/hir-def/src/db.rs
@@ -117,12 +117,14 @@ pub trait DefDatabase: InternDatabase + ExpandDatabase + Upcast<dyn ExpandDataba
// region:data
+ #[salsa::transparent]
#[salsa::invoke(StructData::struct_data_query)]
fn struct_data(&self, id: StructId) -> Arc<StructData>;
#[salsa::invoke(StructData::struct_data_with_diagnostics_query)]
fn struct_data_with_diagnostics(&self, id: StructId) -> (Arc<StructData>, DefDiagnostics);
+ #[salsa::transparent]
#[salsa::invoke(StructData::union_data_query)]
fn union_data(&self, id: UnionId) -> Arc<StructData>;
@@ -132,6 +134,7 @@ pub trait DefDatabase: InternDatabase + ExpandDatabase + Upcast<dyn ExpandDataba
#[salsa::invoke(EnumData::enum_data_query)]
fn enum_data(&self, e: EnumId) -> Arc<EnumData>;
+ #[salsa::transparent]
#[salsa::invoke(EnumVariantData::enum_variant_data_query)]
fn enum_variant_data(&self, id: EnumVariantId) -> Arc<EnumVariantData>;
@@ -141,12 +144,14 @@ pub trait DefDatabase: InternDatabase + ExpandDatabase + Upcast<dyn ExpandDataba
id: EnumVariantId,
) -> (Arc<EnumVariantData>, DefDiagnostics);
+ #[salsa::transparent]
#[salsa::invoke(ImplData::impl_data_query)]
fn impl_data(&self, e: ImplId) -> Arc<ImplData>;
#[salsa::invoke(ImplData::impl_data_with_diagnostics_query)]
fn impl_data_with_diagnostics(&self, e: ImplId) -> (Arc<ImplData>, DefDiagnostics);
+ #[salsa::transparent]
#[salsa::invoke(TraitData::trait_data_query)]
fn trait_data(&self, e: TraitId) -> Arc<TraitData>;
diff --git a/crates/hir/src/db.rs b/crates/hir/src/db.rs
index a2492840cb..557c8d29a1 100644
--- a/crates/hir/src/db.rs
+++ b/crates/hir/src/db.rs
@@ -6,20 +6,18 @@
pub use hir_def::db::{
AttrsQuery, BlockDefMapQuery, BlockItemTreeQueryQuery, BodyQuery, BodyWithSourceMapQuery,
ConstDataQuery, ConstVisibilityQuery, CrateDefMapQueryQuery, CrateLangItemsQuery,
- CrateSupportsNoStdQuery, DefDatabase, DefDatabaseStorage, EnumDataQuery, EnumVariantDataQuery,
+ CrateSupportsNoStdQuery, DefDatabase, DefDatabaseStorage, EnumDataQuery,
EnumVariantDataWithDiagnosticsQuery, ExprScopesQuery, ExternCrateDeclDataQuery,
FieldVisibilitiesQuery, FieldsAttrsQuery, FieldsAttrsSourceMapQuery, FileItemTreeQuery,
- FunctionDataQuery, FunctionVisibilityQuery, GenericParamsQuery, ImplDataQuery,
- ImplDataWithDiagnosticsQuery, ImportMapQuery, InternAnonymousConstQuery, InternBlockQuery,
- InternConstQuery, InternDatabase, InternDatabaseStorage, InternEnumQuery,
- InternExternBlockQuery, InternExternCrateQuery, InternFunctionQuery, InternImplQuery,
- InternInTypeConstQuery, InternMacro2Query, InternMacroRulesQuery, InternProcMacroQuery,
- InternStaticQuery, InternStructQuery, InternTraitAliasQuery, InternTraitQuery,
- InternTypeAliasQuery, InternUnionQuery, InternUseQuery, LangItemQuery, Macro2DataQuery,
- MacroRulesDataQuery, ProcMacroDataQuery, StaticDataQuery, StructDataQuery,
- StructDataWithDiagnosticsQuery, TraitAliasDataQuery, TraitDataQuery,
- TraitDataWithDiagnosticsQuery, TypeAliasDataQuery, UnionDataQuery,
- UnionDataWithDiagnosticsQuery,
+ FunctionDataQuery, FunctionVisibilityQuery, GenericParamsQuery, ImplDataWithDiagnosticsQuery,
+ ImportMapQuery, InternAnonymousConstQuery, InternBlockQuery, InternConstQuery, InternDatabase,
+ InternDatabaseStorage, InternEnumQuery, InternExternBlockQuery, InternExternCrateQuery,
+ InternFunctionQuery, InternImplQuery, InternInTypeConstQuery, InternMacro2Query,
+ InternMacroRulesQuery, InternProcMacroQuery, InternStaticQuery, InternStructQuery,
+ InternTraitAliasQuery, InternTraitQuery, InternTypeAliasQuery, InternUnionQuery,
+ InternUseQuery, LangItemQuery, Macro2DataQuery, MacroRulesDataQuery, ProcMacroDataQuery,
+ StaticDataQuery, StructDataWithDiagnosticsQuery, TraitAliasDataQuery,
+ TraitDataWithDiagnosticsQuery, TypeAliasDataQuery, UnionDataWithDiagnosticsQuery,
};
pub use hir_expand::db::{
AstIdMapQuery, DeclMacroExpanderQuery, ExpandDatabase, ExpandDatabaseStorage,
diff --git a/crates/ide-db/src/apply_change.rs b/crates/ide-db/src/apply_change.rs
index 3d973dfe10..766d1c1e43 100644
--- a/crates/ide-db/src/apply_change.rs
+++ b/crates/ide-db/src/apply_change.rs
@@ -136,16 +136,11 @@ impl RootDatabase {
hir::db::FileItemTreeQuery
hir::db::CrateDefMapQueryQuery
hir::db::BlockDefMapQuery
- hir::db::StructDataQuery
hir::db::StructDataWithDiagnosticsQuery
- hir::db::UnionDataQuery
hir::db::UnionDataWithDiagnosticsQuery
hir::db::EnumDataQuery
hir::db::EnumVariantDataWithDiagnosticsQuery
- hir::db::EnumVariantDataQuery
- hir::db::ImplDataQuery
hir::db::ImplDataWithDiagnosticsQuery
- hir::db::TraitDataQuery
hir::db::TraitDataWithDiagnosticsQuery
hir::db::TraitAliasDataQuery
hir::db::TypeAliasDataQuery
diff --git a/crates/ide-db/src/lib.rs b/crates/ide-db/src/lib.rs
index e1b6c13ba8..dc61fc0e4c 100644
--- a/crates/ide-db/src/lib.rs
+++ b/crates/ide-db/src/lib.rs
@@ -217,16 +217,11 @@ impl RootDatabase {
hir_db::FileItemTreeQuery
hir_db::CrateDefMapQueryQuery
hir_db::BlockDefMapQuery
- hir_db::StructDataQuery
hir_db::StructDataWithDiagnosticsQuery
- hir_db::UnionDataQuery
hir_db::UnionDataWithDiagnosticsQuery
hir_db::EnumDataQuery
- hir_db::EnumDataQuery
hir_db::EnumVariantDataWithDiagnosticsQuery
- hir_db::ImplDataQuery
hir_db::ImplDataWithDiagnosticsQuery
- hir_db::TraitDataQuery
hir_db::TraitDataWithDiagnosticsQuery
hir_db::TraitAliasDataQuery
hir_db::TypeAliasDataQuery