Use Crate instead of CrateId
This commit is contained in:
@@ -1,31 +1,28 @@
|
||||
use ra_db::CrateId;
|
||||
|
||||
use crate::{
|
||||
Crate, CrateDependency, AsName, Module,
|
||||
db::HirDatabase,
|
||||
};
|
||||
|
||||
impl Crate {
|
||||
pub(crate) fn new(crate_id: CrateId) -> Crate {
|
||||
Crate { crate_id }
|
||||
}
|
||||
pub(crate) fn dependencies_impl(&self, db: &impl HirDatabase) -> Vec<CrateDependency> {
|
||||
let crate_graph = db.crate_graph();
|
||||
crate_graph
|
||||
.dependencies(self.crate_id)
|
||||
.map(|dep| {
|
||||
let krate = Crate::new(dep.crate_id());
|
||||
let krate = Crate {
|
||||
crate_id: dep.crate_id(),
|
||||
};
|
||||
let name = dep.as_name();
|
||||
CrateDependency { krate, name }
|
||||
})
|
||||
.collect()
|
||||
}
|
||||
pub(crate) fn root_module_impl(&self, db: &impl HirDatabase) -> Option<Module> {
|
||||
let module_tree = db.module_tree(self.crate_id);
|
||||
let module_tree = db.module_tree(*self);
|
||||
let module_id = module_tree.modules().next()?;
|
||||
|
||||
let module = Module {
|
||||
krate: self.crate_id,
|
||||
krate: *self,
|
||||
module_id,
|
||||
};
|
||||
Some(module)
|
||||
|
||||
@@ -3,7 +3,7 @@ use ra_syntax::{ast, SyntaxNode, TreeArc};
|
||||
|
||||
use crate::{
|
||||
Module, ModuleSource, Problem,
|
||||
Crate, Name,
|
||||
Name,
|
||||
module_tree::ModuleId,
|
||||
impl_block::ImplId,
|
||||
nameres::{lower::ImportId},
|
||||
@@ -67,10 +67,6 @@ impl Module {
|
||||
source_map.get(&source, impl_id)
|
||||
}
|
||||
|
||||
pub(crate) fn krate_impl(&self, _db: &impl HirDatabase) -> Option<Crate> {
|
||||
Some(Crate::new(self.krate))
|
||||
}
|
||||
|
||||
pub(crate) fn crate_root_impl(&self, db: &impl HirDatabase) -> Module {
|
||||
let module_tree = db.module_tree(self.krate);
|
||||
let module_id = self.module_id.crate_root(&module_tree);
|
||||
|
||||
Reference in New Issue
Block a user