aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/code_model.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/code_model.rs')
-rw-r--r--crates/ra_hir/src/code_model.rs15
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)]