Make ModuleId's krate field private

This commit is contained in:
Jonas Schievink
2021-01-22 18:09:55 +01:00
parent e73cc8b4ab
commit 3de8f57c51
10 changed files with 62 additions and 38 deletions

View File

@@ -73,14 +73,22 @@ use stdx::impl_from;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ModuleId {
pub krate: CrateId,
krate: CrateId,
pub local_id: LocalModuleId,
}
impl ModuleId {
pub fn top_level(krate: CrateId, local_id: LocalModuleId) -> Self {
Self { krate, local_id }
}
pub fn def_map(&self, db: &dyn db::DefDatabase) -> Arc<DefMap> {
db.crate_def_map(self.krate)
}
pub fn krate(&self) -> CrateId {
self.krate
}
}
/// An ID of a module, **local** to a specific crate