]> git.lizzy.rs Git - rust.git/commitdiff
move crate for
authorAleksey Kladov <aleksey.kladov@gmail.com>
Fri, 8 Feb 2019 10:50:18 +0000 (13:50 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Fri, 8 Feb 2019 11:34:30 +0000 (14:34 +0300)
crates/ra_ide_api/src/imp.rs
crates/ra_ide_api/src/lib.rs
crates/ra_ide_api/src/parent_module.rs

index 7d672656f7a28e60bfde9265393f87c9da5b5859..dea71740cc551fd08d27788805fa778854e389cf 100644 (file)
 use ra_db::SourceDatabase;
 
 use crate::{
-    CrateId, db, Diagnostic, FileId, FilePosition, FileSystemEdit,
+    db, Diagnostic, FileId, FilePosition, FileSystemEdit,
     Query, SourceChange, SourceFileEdit,
     symbol_index::FileSymbol,
 };
 
 impl db::RootDatabase {
-    /// Returns `Vec` for the same reason as `parent_module`
-    pub(crate) fn crate_for(&self, file_id: FileId) -> Vec<CrateId> {
-        let module = match source_binder::module_from_file_id(self, file_id) {
-            Some(it) => it,
-            None => return Vec::new(),
-        };
-        let krate = match module.krate(self) {
-            Some(it) => it,
-            None => return Vec::new(),
-        };
-        vec![krate.crate_id()]
-    }
-
     pub(crate) fn find_all_refs(&self, position: FilePosition) -> Vec<(FileId, TextRange)> {
         let file = self.parse(position.file_id);
         // Find the binding associated with the offset
index 22a601ec815f965d9e7656cab02d5dbb7bc06edc..bb60e8d404417fa04b599e88683f216b0f1f88f1 100644 (file)
@@ -342,7 +342,7 @@ pub fn parent_module(&self, position: FilePosition) -> Cancelable<Vec<Navigation
 
     /// Returns crates this file belongs too.
     pub fn crate_for(&self, file_id: FileId) -> Cancelable<Vec<CrateId>> {
-        self.with_db(|db| db.crate_for(file_id))
+        self.with_db(|db| parent_module::crate_for(db, file_id))
     }
 
     /// Returns the root file of the given crate.
index e94297fe386de9ab777f4d81d755c1f27e3346f1..603c3db6ae223609de3bc9605d5e0759c112e3f2 100644 (file)
@@ -1,4 +1,4 @@
-use ra_db::FilePosition;
+use ra_db::{FilePosition, FileId, CrateId};
 
 use crate::{NavigationTarget, db::RootDatabase};
 
@@ -13,6 +13,19 @@ pub(crate) fn parent_module(db: &RootDatabase, position: FilePosition) -> Vec<Na
     vec![nav]
 }
 
+/// Returns `Vec` for the same reason as `parent_module`
+pub(crate) fn crate_for(db: &RootDatabase, file_id: FileId) -> Vec<CrateId> {
+    let module = match hir::source_binder::module_from_file_id(db, file_id) {
+        Some(it) => it,
+        None => return Vec::new(),
+    };
+    let krate = match module.krate(db) {
+        Some(it) => it,
+        None => return Vec::new(),
+    };
+    vec![krate.crate_id()]
+}
+
 #[cfg(test)]
 mod tests {
     use crate::mock_analysis::analysis_and_position;