diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2018-11-20 14:33:54 +0000 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2018-11-20 14:33:54 +0000 |
commit | 713c3ea30b38199e05e1f70094d85177f16915f8 (patch) | |
tree | f4f3c59a59e4a607b77321cb685bf616824dc8f7 /crates/ra_analysis/src/descriptors/mod.rs | |
parent | 902778ccaefc7b51548cab459715aaf8653bbbc6 (diff) | |
parent | a2fdb41ace4de7737a3ba0e4ef5e68d0a41e924d (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.rs | 21 |
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 | ||
21 | salsa::query_group! { | 21 | salsa::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 | } |