diff options
Diffstat (limited to 'crates/ra_hir/src/code_model.rs')
-rw-r--r-- | crates/ra_hir/src/code_model.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index cc42068a1..df9c151e5 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs | |||
@@ -227,6 +227,21 @@ impl Module { | |||
227 | pub(crate) fn with_module_id(self, module_id: LocalModuleId) -> Module { | 227 | pub(crate) fn with_module_id(self, module_id: LocalModuleId) -> Module { |
228 | Module::new(self.krate(), module_id) | 228 | Module::new(self.krate(), module_id) |
229 | } | 229 | } |
230 | |||
231 | /// Finds a path that can be used to refer to the given item from within | ||
232 | /// this module, if possible. | ||
233 | pub fn find_use_path( | ||
234 | self, | ||
235 | db: &impl DefDatabase, | ||
236 | item: ModuleDef, | ||
237 | ) -> Option<hir_def::path::ModPath> { | ||
238 | // FIXME expose namespace choice | ||
239 | hir_def::find_path::find_path( | ||
240 | db, | ||
241 | hir_def::item_scope::ItemInNs::Types(item.into()), | ||
242 | self.into(), | ||
243 | ) | ||
244 | } | ||
230 | } | 245 | } |
231 | 246 | ||
232 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] | 247 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] |