aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_analysis/src/db.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2018-11-27 20:33:36 +0000
committerAleksey Kladov <[email protected]>2018-11-27 20:33:36 +0000
commitb7049ea543d5ea9a965dfa51d9da923739f2420d (patch)
tree4cfda71ca655fc13479413825b452419fdc0e281 /crates/ra_analysis/src/db.rs
parent90bc832b22aefb2a382b3465793df7e528351aa1 (diff)
move query definitions
Diffstat (limited to 'crates/ra_analysis/src/db.rs')
-rw-r--r--crates/ra_analysis/src/db.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/crates/ra_analysis/src/db.rs b/crates/ra_analysis/src/db.rs
index 08aa9053b..78bbfcf2d 100644
--- a/crates/ra_analysis/src/db.rs
+++ b/crates/ra_analysis/src/db.rs
@@ -10,7 +10,7 @@ use crate::{
10 hir, 10 hir,
11 symbol_index::SymbolIndex, 11 symbol_index::SymbolIndex,
12 syntax_ptr::SyntaxPtr, 12 syntax_ptr::SyntaxPtr,
13 loc2id::{IdMaps, IdDatabase}, 13 loc2id::{IdMaps},
14 Cancelable, Canceled, FileId, 14 Cancelable, Canceled, FileId,
15}; 15};
16 16
@@ -77,7 +77,14 @@ impl salsa::ParallelDatabase for RootDatabase {
77 } 77 }
78} 78}
79 79
80impl IdDatabase for RootDatabase { 80pub(crate) trait BaseDatabase: salsa::Database {
81 fn id_maps(&self) -> &IdMaps;
82 fn check_canceled(&self) -> Cancelable<()> {
83 check_canceled(self)
84 }
85}
86
87impl BaseDatabase for RootDatabase {
81 fn id_maps(&self) -> &IdMaps { 88 fn id_maps(&self) -> &IdMaps {
82 &self.id_maps 89 &self.id_maps
83 } 90 }
@@ -136,7 +143,7 @@ salsa::database_storage! {
136} 143}
137 144
138salsa::query_group! { 145salsa::query_group! {
139 pub(crate) trait SyntaxDatabase: crate::input::FilesDatabase { 146 pub(crate) trait SyntaxDatabase: crate::input::FilesDatabase + BaseDatabase {
140 fn file_syntax(file_id: FileId) -> SourceFileNode { 147 fn file_syntax(file_id: FileId) -> SourceFileNode {
141 type FileSyntaxQuery; 148 type FileSyntaxQuery;
142 } 149 }