aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/db.rs
diff options
context:
space:
mode:
authorcsmoe <[email protected]>2019-02-01 10:33:41 +0000
committercsmoe <[email protected]>2019-02-01 14:05:24 +0000
commit4dffdcf14abe0c79f9d7a9702be77958be1f75b1 (patch)
tree3904cb714292f3e1abe5081e4e516eea1b2568fa /crates/ra_hir/src/db.rs
parent12433a78871610edfccc82442846615872747e06 (diff)
split HirDatabase api
Diffstat (limited to 'crates/ra_hir/src/db.rs')
-rw-r--r--crates/ra_hir/src/db.rs29
1 files changed, 13 insertions, 16 deletions
diff --git a/crates/ra_hir/src/db.rs b/crates/ra_hir/src/db.rs
index 7183b1630..6b21fe744 100644
--- a/crates/ra_hir/src/db.rs
+++ b/crates/ra_hir/src/db.rs
@@ -27,9 +27,6 @@ pub trait PersistentHirDatabase: SourceDatabase + AsRef<HirInterner> {
27 #[salsa::invoke(crate::macros::expand_macro_invocation)] 27 #[salsa::invoke(crate::macros::expand_macro_invocation)]
28 fn expand_macro_invocation(&self, invoc: MacroCallId) -> Option<Arc<MacroExpansion>>; 28 fn expand_macro_invocation(&self, invoc: MacroCallId) -> Option<Arc<MacroExpansion>>;
29 29
30 #[salsa::invoke(ExprScopes::expr_scopes_query)]
31 fn expr_scopes(&self, func: Function) -> Arc<ExprScopes>;
32
33 #[salsa::invoke(crate::adt::StructData::struct_data_query)] 30 #[salsa::invoke(crate::adt::StructData::struct_data_query)]
34 fn struct_data(&self, s: Struct) -> Arc<StructData>; 31 fn struct_data(&self, s: Struct) -> Arc<StructData>;
35 32
@@ -39,6 +36,9 @@ pub trait PersistentHirDatabase: SourceDatabase + AsRef<HirInterner> {
39 #[salsa::invoke(query_definitions::file_items)] 36 #[salsa::invoke(query_definitions::file_items)]
40 fn file_items(&self, file_id: HirFileId) -> Arc<SourceFileItems>; 37 fn file_items(&self, file_id: HirFileId) -> Arc<SourceFileItems>;
41 38
39 #[salsa::invoke(query_definitions::file_item)]
40 fn file_item(&self, source_item_id: SourceItemId) -> TreeArc<SyntaxNode>;
41
42 #[salsa::invoke(crate::module_tree::Submodule::submodules_query)] 42 #[salsa::invoke(crate::module_tree::Submodule::submodules_query)]
43 fn submodules( 43 fn submodules(
44 &self, 44 &self,
@@ -61,20 +61,17 @@ pub trait PersistentHirDatabase: SourceDatabase + AsRef<HirInterner> {
61 #[salsa::invoke(crate::module_tree::ModuleTree::module_tree_query)] 61 #[salsa::invoke(crate::module_tree::ModuleTree::module_tree_query)]
62 fn module_tree(&self, krate: Crate) -> Arc<ModuleTree>; 62 fn module_tree(&self, krate: Crate) -> Arc<ModuleTree>;
63 63
64 #[salsa::invoke(crate::impl_block::impls_in_module_with_source_map_query)]
65 fn impls_in_module_with_source_map(
66 &self,
67 module: Module,
68 ) -> (Arc<ModuleImplBlocks>, Arc<ImplSourceMap>);
69
70 #[salsa::invoke(crate::impl_block::impls_in_module)] 64 #[salsa::invoke(crate::impl_block::impls_in_module)]
71 fn impls_in_module(&self, module: Module) -> Arc<ModuleImplBlocks>; 65 fn impls_in_module(&self, module: Module) -> Arc<ModuleImplBlocks>;
72 66
73 #[salsa::invoke(crate::impl_block::impls_in_module_source_map_query)] 67 #[salsa::invoke(crate::impl_block::impls_in_module_source_map_query)]
74 fn impls_in_module_source_map(&self, module: Module) -> Arc<ImplSourceMap>; 68 fn impls_in_module_source_map(&self, module: Module) -> Arc<ImplSourceMap>;
75 69
76 #[salsa::invoke(crate::ty::method_resolution::CrateImplBlocks::impls_in_crate_query)] 70 #[salsa::invoke(crate::impl_block::impls_in_module_with_source_map_query)]
77 fn impls_in_crate(&self, krate: Crate) -> Arc<CrateImplBlocks>; 71 fn impls_in_module_with_source_map(
72 &self,
73 module: Module,
74 ) -> (Arc<ModuleImplBlocks>, Arc<ImplSourceMap>);
78 75
79 #[salsa::invoke(crate::generics::GenericParams::generic_params_query)] 76 #[salsa::invoke(crate::generics::GenericParams::generic_params_query)]
80 fn generic_params(&self, def: GenericDef) -> Arc<GenericParams>; 77 fn generic_params(&self, def: GenericDef) -> Arc<GenericParams>;
@@ -85,11 +82,8 @@ pub trait PersistentHirDatabase: SourceDatabase + AsRef<HirInterner> {
85 82
86#[salsa::query_group(HirDatabaseStorage)] 83#[salsa::query_group(HirDatabaseStorage)]
87pub trait HirDatabase: PersistentHirDatabase { 84pub trait HirDatabase: PersistentHirDatabase {
88 #[salsa::invoke(query_definitions::fn_scopes)] 85 #[salsa::invoke(ExprScopes::expr_scopes_query)]
89 fn fn_scopes(&self, func: Function) -> Arc<FnScopes>; 86 fn expr_scopes(&self, func: Function) -> Arc<ExprScopes>;
90
91 #[salsa::invoke(query_definitions::file_item)]
92 fn file_item(&self, source_item_id: SourceItemId) -> TreeArc<SyntaxNode>;
93 87
94 #[salsa::invoke(crate::ty::infer)] 88 #[salsa::invoke(crate::ty::infer)]
95 fn infer(&self, func: Function) -> Arc<InferenceResult>; 89 fn infer(&self, func: Function) -> Arc<InferenceResult>;
@@ -105,4 +99,7 @@ pub trait HirDatabase: PersistentHirDatabase {
105 99
106 #[salsa::invoke(crate::expr::body_syntax_mapping)] 100 #[salsa::invoke(crate::expr::body_syntax_mapping)]
107 fn body_syntax_mapping(&self, func: Function) -> Arc<crate::expr::BodySyntaxMapping>; 101 fn body_syntax_mapping(&self, func: Function) -> Arc<crate::expr::BodySyntaxMapping>;
102
103 #[salsa::invoke(crate::ty::method_resolution::CrateImplBlocks::impls_in_crate_query)]
104 fn impls_in_crate(&self, krate: Crate) -> Arc<CrateImplBlocks>;
108} 105}