diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-02-08 11:37:05 +0000 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-02-08 11:37:05 +0000 |
commit | b5fc999e7dafa8217d77088ae10bff96e767a3e9 (patch) | |
tree | 7fb47d6afa2eca87d2cd330e8e39af2ce3615dd5 /crates/ra_ide_api/src/parent_module.rs | |
parent | 9a1d2a46c249fa81294c156b9e23b624e14495cd (diff) | |
parent | 884f04670aea239f06fe5b6ff7a9f2073034f8bc (diff) |
Merge #765
765: Jettison `imp` module r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_ide_api/src/parent_module.rs')
-rw-r--r-- | crates/ra_ide_api/src/parent_module.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/crates/ra_ide_api/src/parent_module.rs b/crates/ra_ide_api/src/parent_module.rs index e94297fe3..603c3db6a 100644 --- a/crates/ra_ide_api/src/parent_module.rs +++ b/crates/ra_ide_api/src/parent_module.rs | |||
@@ -1,4 +1,4 @@ | |||
1 | use ra_db::FilePosition; | 1 | use ra_db::{FilePosition, FileId, CrateId}; |
2 | 2 | ||
3 | use crate::{NavigationTarget, db::RootDatabase}; | 3 | use crate::{NavigationTarget, db::RootDatabase}; |
4 | 4 | ||
@@ -13,6 +13,19 @@ pub(crate) fn parent_module(db: &RootDatabase, position: FilePosition) -> Vec<Na | |||
13 | vec![nav] | 13 | vec![nav] |
14 | } | 14 | } |
15 | 15 | ||
16 | /// Returns `Vec` for the same reason as `parent_module` | ||
17 | pub(crate) fn crate_for(db: &RootDatabase, file_id: FileId) -> Vec<CrateId> { | ||
18 | let module = match hir::source_binder::module_from_file_id(db, file_id) { | ||
19 | Some(it) => it, | ||
20 | None => return Vec::new(), | ||
21 | }; | ||
22 | let krate = match module.krate(db) { | ||
23 | Some(it) => it, | ||
24 | None => return Vec::new(), | ||
25 | }; | ||
26 | vec![krate.crate_id()] | ||
27 | } | ||
28 | |||
16 | #[cfg(test)] | 29 | #[cfg(test)] |
17 | mod tests { | 30 | mod tests { |
18 | use crate::mock_analysis::analysis_and_position; | 31 | use crate::mock_analysis::analysis_and_position; |