From 9fe09db771aa3890ac8a0eeb1d9e6097060fad06 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 24 Jan 2019 12:41:08 +0300 Subject: encapsulate hir locations --- crates/ra_hir/src/mock.rs | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) (limited to 'crates/ra_hir/src/mock.rs') diff --git a/crates/ra_hir/src/mock.rs b/crates/ra_hir/src/mock.rs index 6e6f2f04b..4145c8048 100644 --- a/crates/ra_hir/src/mock.rs +++ b/crates/ra_hir/src/mock.rs @@ -2,13 +2,13 @@ use std::{sync::Arc, panic}; use parking_lot::Mutex; use ra_db::{ - LocationIntener, BaseDatabase, FilePosition, FileId, CrateGraph, SourceRoot, SourceRootId, + BaseDatabase, FilePosition, FileId, CrateGraph, SourceRoot, SourceRootId, salsa::{self, Database}, }; use relative_path::RelativePathBuf; use test_utils::{parse_fixture, CURSOR_MARKER, extract_offset}; -use crate::{db, DefId, DefLoc, MacroCallId, MacroCallLoc}; +use crate::{db, HirInterner}; pub const WORKSPACE: SourceRootId = SourceRootId(0); @@ -16,7 +16,7 @@ pub const WORKSPACE: SourceRootId = SourceRootId(0); pub(crate) struct MockDatabase { events: Mutex>>>, runtime: salsa::Runtime, - id_maps: Arc, + interner: Arc, file_counter: u32, } @@ -123,12 +123,6 @@ impl MockDatabase { } } -#[derive(Debug, Default)] -struct IdMaps { - defs: LocationIntener, - macros: LocationIntener, -} - impl salsa::Database for MockDatabase { fn salsa_runtime(&self) -> &salsa::Runtime { &self.runtime @@ -147,7 +141,7 @@ impl Default for MockDatabase { let mut db = MockDatabase { events: Default::default(), runtime: salsa::Runtime::default(), - id_maps: Default::default(), + interner: Default::default(), file_counter: 0, }; db.query_mut(ra_db::CrateGraphQuery) @@ -165,7 +159,7 @@ impl salsa::ParallelDatabase for MockDatabase { salsa::Snapshot::new(MockDatabase { events: Default::default(), runtime: self.runtime.snapshot(self), - id_maps: self.id_maps.clone(), + interner: Arc::clone(&self.interner), file_counter: self.file_counter, }) } @@ -173,14 +167,9 @@ impl salsa::ParallelDatabase for MockDatabase { impl BaseDatabase for MockDatabase {} -impl AsRef> for MockDatabase { - fn as_ref(&self) -> &LocationIntener { - &self.id_maps.defs - } -} -impl AsRef> for MockDatabase { - fn as_ref(&self) -> &LocationIntener { - &self.id_maps.macros +impl AsRef for MockDatabase { + fn as_ref(&self) -> &HirInterner { + &self.interner } } -- cgit v1.2.3