From b775fa285c985821f38f09c25507d80ee793ecfd Mon Sep 17 00:00:00 2001 From: Erlend Tobiassen Date: Sun, 27 Jan 2019 16:32:31 +0100 Subject: Revert parts of "Test non standard crate root" Prefer cursor position over file_map --- crates/ra_hir/src/mock.rs | 16 ++++++---------- crates/ra_hir/src/nameres/tests.rs | 8 +++----- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/crates/ra_hir/src/mock.rs b/crates/ra_hir/src/mock.rs index 2bba11e42..7da15eca0 100644 --- a/crates/ra_hir/src/mock.rs +++ b/crates/ra_hir/src/mock.rs @@ -2,8 +2,7 @@ use std::{sync::Arc, panic}; use parking_lot::Mutex; use ra_db::{ - mock::FileMap, CheckCanceled, CrateGraph, FileId, FilePosition, SourceDatabase, - SourceRoot, SourceRootId, salsa + CheckCanceled, FilePosition, FileId, CrateGraph, SourceRoot, SourceRootId, SourceDatabase, salsa, }; use relative_path::RelativePathBuf; use test_utils::{parse_fixture, CURSOR_MARKER, extract_offset}; @@ -18,7 +17,7 @@ pub(crate) struct MockDatabase { events: Mutex>>>, runtime: salsa::Runtime, interner: Arc, - file_map: Arc, + file_counter: u32, } impl panic::RefUnwindSafe for MockDatabase {} @@ -44,10 +43,6 @@ impl MockDatabase { (db, position) } - pub(crate) fn file_id(&self, file: &str) -> FileId { - self.file_map.file_id(file) - } - fn from_fixture(fixture: &str) -> (MockDatabase, SourceRoot, Option) { let mut db = MockDatabase::default(); @@ -94,7 +89,8 @@ impl MockDatabase { let is_crate_root = path == "/lib.rs" || path == "/main.rs"; let path = RelativePathBuf::from_path(&path[1..]).unwrap(); - let file_id = Arc::make_mut(&mut self.file_map).add(path.clone()); + let file_id = FileId(self.file_counter); + self.file_counter += 1; let text = Arc::new(text.to_string()); self.set_file_text(file_id, text); self.set_file_relative_path(file_id, path.clone()); @@ -141,7 +137,7 @@ impl Default for MockDatabase { events: Default::default(), runtime: salsa::Runtime::default(), interner: Default::default(), - file_map: Default::default(), + file_counter: 0, }; db.set_crate_graph(Default::default()); db @@ -154,7 +150,7 @@ impl salsa::ParallelDatabase for MockDatabase { events: Default::default(), runtime: self.runtime.snapshot(self), interner: Arc::clone(&self.interner), - file_map: Arc::clone(&self.file_map), + file_counter: self.file_counter, }) } } diff --git a/crates/ra_hir/src/nameres/tests.rs b/crates/ra_hir/src/nameres/tests.rs index 971f71637..3d420467c 100644 --- a/crates/ra_hir/src/nameres/tests.rs +++ b/crates/ra_hir/src/nameres/tests.rs @@ -19,11 +19,12 @@ fn item_map(fixture: &str) -> (Arc, ModuleId) { (db.item_map(krate.crate_id), module_id) } -fn item_map_custom_crate_root(fixture: &str, root: &str) -> (Arc, ModuleId) { +/// Sets the crate root to the file of the cursor marker +fn item_map_custom_crate_root(fixture: &str) -> (Arc, ModuleId) { let (mut db, pos) = MockDatabase::with_position(fixture); let mut crate_graph = CrateGraph::default(); - crate_graph.add_crate_root(db.file_id(root)); + crate_graph.add_crate_root(pos.file_id); db.set_crate_graph(Arc::new(crate_graph)); let module = crate::source_binder::module_from_position(&db, pos).unwrap(); @@ -152,14 +153,11 @@ fn module_resolution_works_for_non_standard_filenames() { " //- /my_library.rs mod foo; - use self::foo::Bar; <|> - //- /foo/mod.rs pub struct Bar; ", - "/my_library.rs", ); check_module_item_map( &item_map, -- cgit v1.2.3