]> git.lizzy.rs Git - rust.git/commitdiff
Revert parts of "Test non standard crate root"
authorErlend Tobiassen <erlend.tobiassen@gmail.com>
Sun, 27 Jan 2019 15:32:31 +0000 (16:32 +0100)
committerErlend Tobiassen <erlend.tobiassen@gmail.com>
Sun, 27 Jan 2019 15:32:31 +0000 (16:32 +0100)
Prefer cursor position over file_map

crates/ra_hir/src/mock.rs
crates/ra_hir/src/nameres/tests.rs

index 2bba11e42eafbd7d4bbd78c9b05ba92000b7b50c..7da15eca0140eb596e0c694c8bb80e130bb85440 100644 (file)
@@ -2,8 +2,7 @@
 
 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<Option<Vec<salsa::Event<MockDatabase>>>>,
     runtime: salsa::Runtime<MockDatabase>,
     interner: Arc<HirInterner>,
-    file_map: Arc<FileMap>,
+    file_counter: u32,
 }
 
 impl panic::RefUnwindSafe for MockDatabase {}
@@ -44,10 +43,6 @@ pub(crate) fn with_position(fixture: &str) -> (MockDatabase, FilePosition) {
         (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<FilePosition>) {
         let mut db = MockDatabase::default();
 
@@ -94,7 +89,8 @@ fn add_file(
         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 @@ fn default() -> 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 @@ fn snapshot(&self) -> salsa::Snapshot<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,
         })
     }
 }
index 971f71637120b86045f27080412931d700af97bb..3d420467c18d918d7d4bee5a0a8dfc95e2185460 100644 (file)
@@ -19,11 +19,12 @@ fn item_map(fixture: &str) -> (Arc<ItemMap>, ModuleId) {
     (db.item_map(krate.crate_id), module_id)
 }
 
-fn item_map_custom_crate_root(fixture: &str, root: &str) -> (Arc<ItemMap>, ModuleId) {
+/// Sets the crate root to the file of the cursor marker
+fn item_map_custom_crate_root(fixture: &str) -> (Arc<ItemMap>, 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,