Normalize waiting queries names

This commit is contained in:
Aleksey Kladov 2020-03-07 00:11:52 +01:00
parent d4cea98bc3
commit 9abf0d9659
7 changed files with 26 additions and 31 deletions

View file

@ -1,7 +1,7 @@
//! FIXME: write short doc here //! FIXME: write short doc here
pub use hir_def::db::{ pub use hir_def::db::{
AttrsQuery, BodyQuery, BodyWithSourceMapQuery, ComputeCrateDefMapQuery, ConstDataQuery, AttrsQuery, BodyQuery, BodyWithSourceMapQuery, ConstDataQuery, CrateDefMapQueryQuery,
CrateLangItemsQuery, DefDatabase, DefDatabaseStorage, DocumentationQuery, EnumDataQuery, CrateLangItemsQuery, DefDatabase, DefDatabaseStorage, DocumentationQuery, EnumDataQuery,
ExprScopesQuery, FunctionDataQuery, GenericParamsQuery, ImplDataQuery, InternConstQuery, ExprScopesQuery, FunctionDataQuery, GenericParamsQuery, ImplDataQuery, InternConstQuery,
InternDatabase, InternDatabaseStorage, InternEnumQuery, InternFunctionQuery, InternImplQuery, InternDatabase, InternDatabaseStorage, InternEnumQuery, InternFunctionQuery, InternImplQuery,
@ -14,10 +14,10 @@ pub use hir_expand::db::{
MacroExpandQuery, ParseMacroQuery, MacroExpandQuery, ParseMacroQuery,
}; };
pub use hir_ty::db::{ pub use hir_ty::db::{
AssociatedTyDataQuery, AssociatedTyValueQuery, CallableItemSignatureQuery, DoInferQuery, AssociatedTyDataQuery, AssociatedTyValueQuery, CallableItemSignatureQuery, FieldTypesQuery,
FieldTypesQuery, GenericDefaultsQuery, GenericPredicatesForParamQuery, GenericPredicatesQuery, GenericDefaultsQuery, GenericPredicatesForParamQuery, GenericPredicatesQuery, HirDatabase,
HirDatabase, HirDatabaseStorage, ImplDatumQuery, ImplSelfTyQuery, ImplTraitQuery, HirDatabaseStorage, ImplDatumQuery, ImplSelfTyQuery, ImplTraitQuery, ImplsForTraitQuery,
ImplsForTraitQuery, ImplsInCrateQuery, InternAssocTyValueQuery, InternChalkImplQuery, ImplsInCrateQuery, InferQueryQuery, InternAssocTyValueQuery, InternChalkImplQuery,
InternTypeCtorQuery, StructDatumQuery, TraitDatumQuery, TraitSolveQuery, TyQuery, ValueTyQuery, InternTypeCtorQuery, StructDatumQuery, TraitDatumQuery, TraitSolveQuery, TyQuery, ValueTyQuery,
}; };

View file

@ -47,11 +47,11 @@ pub trait DefDatabase: InternDatabase + AstDatabase {
#[salsa::invoke(RawItems::raw_items_query)] #[salsa::invoke(RawItems::raw_items_query)]
fn raw_items(&self, file_id: HirFileId) -> Arc<RawItems>; fn raw_items(&self, file_id: HirFileId) -> Arc<RawItems>;
#[salsa::transparent] #[salsa::invoke(crate_def_map_wait)]
fn crate_def_map(&self, krate: CrateId) -> Arc<CrateDefMap>; fn crate_def_map(&self, krate: CrateId) -> Arc<CrateDefMap>;
#[salsa::invoke(CrateDefMap::compute_crate_def_map_query)] #[salsa::invoke(CrateDefMap::crate_def_map_query)]
fn compute_crate_def_map(&self, krate: CrateId) -> Arc<CrateDefMap>; fn crate_def_map_query(&self, krate: CrateId) -> Arc<CrateDefMap>;
#[salsa::invoke(StructData::struct_data_query)] #[salsa::invoke(StructData::struct_data_query)]
fn struct_data(&self, id: StructId) -> Arc<StructData>; fn struct_data(&self, id: StructId) -> Arc<StructData>;
@ -109,7 +109,7 @@ pub trait DefDatabase: InternDatabase + AstDatabase {
fn documentation(&self, def: AttrDefId) -> Option<Documentation>; fn documentation(&self, def: AttrDefId) -> Option<Documentation>;
} }
fn crate_def_map(db: &impl DefDatabase, krate: CrateId) -> Arc<CrateDefMap> { fn crate_def_map_wait(db: &impl DefDatabase, krate: CrateId) -> Arc<CrateDefMap> {
let _p = profile("wait_crate_def_map"); let _p = profile("crate_def_map:wait");
db.compute_crate_def_map(krate) db.crate_def_map_query(krate)
} }

View file

@ -176,13 +176,8 @@ pub struct ModuleData {
} }
impl CrateDefMap { impl CrateDefMap {
pub(crate) fn compute_crate_def_map_query( pub(crate) fn crate_def_map_query(db: &impl DefDatabase, krate: CrateId) -> Arc<CrateDefMap> {
// Note that this doesn't have `+ AstDatabase`! let _p = profile("crate_def_map_query");
// This gurantess that `CrateDefMap` is stable across reparses.
db: &impl DefDatabase,
krate: CrateId,
) -> Arc<CrateDefMap> {
let _p = profile("crate_def_map");
let def_map = { let def_map = {
let crate_graph = db.crate_graph(); let crate_graph = db.crate_graph();
let edition = crate_graph.edition(krate); let edition = crate_graph.edition(krate);

View file

@ -21,11 +21,11 @@ use hir_expand::name::Name;
#[salsa::query_group(HirDatabaseStorage)] #[salsa::query_group(HirDatabaseStorage)]
#[salsa::requires(salsa::Database)] #[salsa::requires(salsa::Database)]
pub trait HirDatabase: DefDatabase { pub trait HirDatabase: DefDatabase {
#[salsa::transparent] #[salsa::invoke(infer_wait)]
fn infer(&self, def: DefWithBodyId) -> Arc<InferenceResult>; fn infer(&self, def: DefWithBodyId) -> Arc<InferenceResult>;
#[salsa::invoke(crate::do_infer_query)] #[salsa::invoke(crate::infer::infer_query)]
fn do_infer(&self, def: DefWithBodyId) -> Arc<InferenceResult>; fn infer_query(&self, def: DefWithBodyId) -> Arc<InferenceResult>;
#[salsa::invoke(crate::lower::ty_query)] #[salsa::invoke(crate::lower::ty_query)]
#[salsa::cycle(crate::lower::ty_recover)] #[salsa::cycle(crate::lower::ty_recover)]
@ -103,8 +103,8 @@ pub trait HirDatabase: DefDatabase {
) -> Option<crate::traits::Solution>; ) -> Option<crate::traits::Solution>;
} }
fn infer(db: &impl HirDatabase, def: DefWithBodyId) -> Arc<InferenceResult> { fn infer_wait(db: &impl HirDatabase, def: DefWithBodyId) -> Arc<InferenceResult> {
let _p = profile("wait_infer").detail(|| match def { let _p = profile("infer:wait").detail(|| match def {
DefWithBodyId::FunctionId(it) => db.function_data(it).name.to_string(), DefWithBodyId::FunctionId(it) => db.function_data(it).name.to_string(),
DefWithBodyId::StaticId(it) => { DefWithBodyId::StaticId(it) => {
db.static_data(it).name.clone().unwrap_or_else(Name::missing).to_string() db.static_data(it).name.clone().unwrap_or_else(Name::missing).to_string()
@ -113,7 +113,7 @@ fn infer(db: &impl HirDatabase, def: DefWithBodyId) -> Arc<InferenceResult> {
db.const_data(it).name.clone().unwrap_or_else(Name::missing).to_string() db.const_data(it).name.clone().unwrap_or_else(Name::missing).to_string()
} }
}); });
db.do_infer(def) db.infer_query(def)
} }
#[test] #[test]

View file

@ -63,8 +63,8 @@ mod pat;
mod coerce; mod coerce;
/// The entry point of type inference. /// The entry point of type inference.
pub fn do_infer_query(db: &impl HirDatabase, def: DefWithBodyId) -> Arc<InferenceResult> { pub(crate) fn infer_query(db: &impl HirDatabase, def: DefWithBodyId) -> Arc<InferenceResult> {
let _p = profile("infer"); let _p = profile("infer_query");
let resolver = def.resolver(db); let resolver = def.resolver(db);
let mut ctx = InferenceContext::new(db, def, resolver); let mut ctx = InferenceContext::new(db, def, resolver);

View file

@ -26,7 +26,7 @@ pub mod traits;
pub mod method_resolution; pub mod method_resolution;
mod op; mod op;
mod lower; mod lower;
mod infer; pub(crate) mod infer;
pub mod display; pub mod display;
pub(crate) mod utils; pub(crate) mod utils;
pub mod db; pub mod db;
@ -57,7 +57,7 @@ use crate::{
use display::HirDisplay; use display::HirDisplay;
pub use autoderef::autoderef; pub use autoderef::autoderef;
pub use infer::{do_infer_query, InferTy, InferenceResult}; pub use infer::{InferTy, InferenceResult};
pub use lower::CallableDef; pub use lower::CallableDef;
pub use lower::{ pub use lower::{
callable_item_sig, ImplTraitLoweringMode, TyDefId, TyLoweringContext, ValueTyDefId, callable_item_sig, ImplTraitLoweringMode, TyDefId, TyLoweringContext, ValueTyDefId,

View file

@ -279,7 +279,7 @@ impl RootDatabase {
self.query(hir::db::BodyWithSourceMapQuery).sweep(sweep); self.query(hir::db::BodyWithSourceMapQuery).sweep(sweep);
self.query(hir::db::ExprScopesQuery).sweep(sweep); self.query(hir::db::ExprScopesQuery).sweep(sweep);
self.query(hir::db::DoInferQuery).sweep(sweep); self.query(hir::db::InferQueryQuery).sweep(sweep);
self.query(hir::db::BodyQuery).sweep(sweep); self.query(hir::db::BodyQuery).sweep(sweep);
} }
@ -318,7 +318,7 @@ impl RootDatabase {
// DefDatabase // DefDatabase
hir::db::RawItemsQuery hir::db::RawItemsQuery
hir::db::ComputeCrateDefMapQuery hir::db::CrateDefMapQueryQuery
hir::db::StructDataQuery hir::db::StructDataQuery
hir::db::UnionDataQuery hir::db::UnionDataQuery
hir::db::EnumDataQuery hir::db::EnumDataQuery
@ -350,7 +350,7 @@ impl RootDatabase {
hir::db::InternImplQuery hir::db::InternImplQuery
// HirDatabase // HirDatabase
hir::db::DoInferQuery hir::db::InferQueryQuery
hir::db::TyQuery hir::db::TyQuery
hir::db::ValueTyQuery hir::db::ValueTyQuery
hir::db::ImplSelfTyQuery hir::db::ImplSelfTyQuery