diff options
author | Aleksey Kladov <[email protected]> | 2019-04-09 20:51:22 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-04-09 20:51:22 +0100 |
commit | 6b993a97602da5ddee4033d4d76a68471f8d1ee1 (patch) | |
tree | 7789a282bbdf26119e3a05370040c3e14bdadc1b /crates/ra_hir/src/mock.rs | |
parent | 2fc2d4373b2c4e96bebf320a84270eee3afe34aa (diff) |
migrate to salsas interning
Diffstat (limited to 'crates/ra_hir/src/mock.rs')
-rw-r--r-- | crates/ra_hir/src/mock.rs | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/crates/ra_hir/src/mock.rs b/crates/ra_hir/src/mock.rs index aeab6b180..fa5882dea 100644 --- a/crates/ra_hir/src/mock.rs +++ b/crates/ra_hir/src/mock.rs | |||
@@ -9,7 +9,7 @@ use relative_path::RelativePathBuf; | |||
9 | use test_utils::{parse_fixture, CURSOR_MARKER, extract_offset}; | 9 | use test_utils::{parse_fixture, CURSOR_MARKER, extract_offset}; |
10 | use rustc_hash::FxHashMap; | 10 | use rustc_hash::FxHashMap; |
11 | 11 | ||
12 | use crate::{db, HirInterner, diagnostics::DiagnosticSink}; | 12 | use crate::{db, diagnostics::DiagnosticSink}; |
13 | 13 | ||
14 | pub const WORKSPACE: SourceRootId = SourceRootId(0); | 14 | pub const WORKSPACE: SourceRootId = SourceRootId(0); |
15 | 15 | ||
@@ -18,7 +18,6 @@ pub const WORKSPACE: SourceRootId = SourceRootId(0); | |||
18 | pub struct MockDatabase { | 18 | pub struct MockDatabase { |
19 | events: Mutex<Option<Vec<salsa::Event<MockDatabase>>>>, | 19 | events: Mutex<Option<Vec<salsa::Event<MockDatabase>>>>, |
20 | runtime: salsa::Runtime<MockDatabase>, | 20 | runtime: salsa::Runtime<MockDatabase>, |
21 | interner: Arc<HirInterner>, | ||
22 | files: FxHashMap<String, FileId>, | 21 | files: FxHashMap<String, FileId>, |
23 | } | 22 | } |
24 | 23 | ||
@@ -195,7 +194,6 @@ impl Default for MockDatabase { | |||
195 | let mut db = MockDatabase { | 194 | let mut db = MockDatabase { |
196 | events: Default::default(), | 195 | events: Default::default(), |
197 | runtime: salsa::Runtime::default(), | 196 | runtime: salsa::Runtime::default(), |
198 | interner: Default::default(), | ||
199 | files: FxHashMap::default(), | 197 | files: FxHashMap::default(), |
200 | }; | 198 | }; |
201 | db.set_crate_graph(Default::default()); | 199 | db.set_crate_graph(Default::default()); |
@@ -208,19 +206,12 @@ impl salsa::ParallelDatabase for MockDatabase { | |||
208 | salsa::Snapshot::new(MockDatabase { | 206 | salsa::Snapshot::new(MockDatabase { |
209 | events: Default::default(), | 207 | events: Default::default(), |
210 | runtime: self.runtime.snapshot(self), | 208 | runtime: self.runtime.snapshot(self), |
211 | interner: Arc::clone(&self.interner), | ||
212 | // only the root database can be used to get file_id by path. | 209 | // only the root database can be used to get file_id by path. |
213 | files: FxHashMap::default(), | 210 | files: FxHashMap::default(), |
214 | }) | 211 | }) |
215 | } | 212 | } |
216 | } | 213 | } |
217 | 214 | ||
218 | impl AsRef<HirInterner> for MockDatabase { | ||
219 | fn as_ref(&self) -> &HirInterner { | ||
220 | &self.interner | ||
221 | } | ||
222 | } | ||
223 | |||
224 | impl MockDatabase { | 215 | impl MockDatabase { |
225 | pub fn log(&self, f: impl FnOnce()) -> Vec<salsa::Event<MockDatabase>> { | 216 | pub fn log(&self, f: impl FnOnce()) -> Vec<salsa::Event<MockDatabase>> { |
226 | *self.events.lock() = Some(Vec::new()); | 217 | *self.events.lock() = Some(Vec::new()); |