aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_analysis/src/descriptors/mod.rs
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2018-11-20 14:33:54 +0000
committerbors[bot] <bors[bot]@users.noreply.github.com>2018-11-20 14:33:54 +0000
commit713c3ea30b38199e05e1f70094d85177f16915f8 (patch)
treef4f3c59a59e4a607b77321cb685bf616824dc8f7 /crates/ra_analysis/src/descriptors/mod.rs
parent902778ccaefc7b51548cab459715aaf8653bbbc6 (diff)
parenta2fdb41ace4de7737a3ba0e4ef5e68d0a41e924d (diff)
Merge #234
234: Global module r=matklad a=matklad This series of commits re-introdces `ModuleDescriptor` as one stop shop for all information about a module. Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_analysis/src/descriptors/mod.rs')
-rw-r--r--crates/ra_analysis/src/descriptors/mod.rs21
1 files changed, 11 insertions, 10 deletions
diff --git a/crates/ra_analysis/src/descriptors/mod.rs b/crates/ra_analysis/src/descriptors/mod.rs
index d602c4e04..a8489f89c 100644
--- a/crates/ra_analysis/src/descriptors/mod.rs
+++ b/crates/ra_analysis/src/descriptors/mod.rs
@@ -20,27 +20,28 @@ use crate::{
20 20
21salsa::query_group! { 21salsa::query_group! {
22 pub(crate) trait DescriptorDatabase: SyntaxDatabase + IdDatabase { 22 pub(crate) trait DescriptorDatabase: SyntaxDatabase + IdDatabase {
23 fn module_tree(source_root_id: SourceRootId) -> Cancelable<Arc<ModuleTree>> { 23 fn fn_scopes(fn_id: FnId) -> Arc<FnScopes> {
24 type FnScopesQuery;
25 use fn function::imp::fn_scopes;
26 }
27
28 fn _module_tree(source_root_id: SourceRootId) -> Cancelable<Arc<ModuleTree>> {
24 type ModuleTreeQuery; 29 type ModuleTreeQuery;
25 use fn module::imp::module_tree; 30 use fn module::imp::module_tree;
26 } 31 }
27 fn submodules(source: ModuleSource) -> Cancelable<Arc<Vec<module::imp::Submodule>>> { 32 fn _module_scope(source_root_id: SourceRootId, module_id: ModuleId) -> Cancelable<Arc<ModuleScope>> {
28 type SubmodulesQuery;
29 use fn module::imp::submodules;
30 }
31 fn module_scope(source_root_id: SourceRootId, module_id: ModuleId) -> Cancelable<Arc<ModuleScope>> {
32 type ModuleScopeQuery; 33 type ModuleScopeQuery;
33 use fn module::imp::module_scope; 34 use fn module::imp::module_scope;
34 } 35 }
35 fn fn_syntax(fn_id: FnId) -> FnDefNode { 36 fn _fn_syntax(fn_id: FnId) -> FnDefNode {
36 type FnSyntaxQuery; 37 type FnSyntaxQuery;
37 // Don't retain syntax trees in memory 38 // Don't retain syntax trees in memory
38 storage volatile; 39 storage volatile;
39 use fn function::imp::fn_syntax; 40 use fn function::imp::fn_syntax;
40 } 41 }
41 fn fn_scopes(fn_id: FnId) -> Arc<FnScopes> { 42 fn _submodules(source: ModuleSource) -> Cancelable<Arc<Vec<module::imp::Submodule>>> {
42 type FnScopesQuery; 43 type SubmodulesQuery;
43 use fn function::imp::fn_scopes; 44 use fn module::imp::submodules;
44 } 45 }
45 } 46 }
46} 47}