Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/lib.rs')
-rw-r--r--crates/hir/src/lib.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index ed0743def6..1e58c076f2 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -599,6 +599,18 @@ impl Module {
.collect()
}
+ pub fn resolve_mod_path(
+ &self,
+ db: &dyn HirDatabase,
+ segments: impl IntoIterator<Item = Name>,
+ ) -> Option<impl Iterator<Item = ItemInNs>> {
+ let items = self.id.resolver(db.upcast()).resolve_module_path_in_items(
+ db.upcast(),
+ &ModPath::from_segments(hir_def::path::PathKind::Plain, segments),
+ );
+ Some(items.iter_items().map(|(item, _)| item.into()))
+ }
+
/// Fills `acc` with the module's diagnostics.
pub fn diagnostics(
self,