kill krate_impl
This commit is contained in:
@@ -4,7 +4,7 @@ use ra_db::{CrateId, SourceRootId, Edition};
|
|||||||
use ra_syntax::{ast::self, TreeArc};
|
use ra_syntax::{ast::self, TreeArc};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
Name, Ty, HirFileId, Either,
|
Name, AsName, Ty, HirFileId, Either,
|
||||||
HirDatabase, DefDatabase,
|
HirDatabase, DefDatabase,
|
||||||
type_ref::TypeRef,
|
type_ref::TypeRef,
|
||||||
nameres::{ModuleScope, Namespace, ImportId, CrateModuleId},
|
nameres::{ModuleScope, Namespace, ImportId, CrateModuleId},
|
||||||
@@ -40,11 +40,20 @@ impl Crate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn dependencies(self, db: &impl DefDatabase) -> Vec<CrateDependency> {
|
pub fn dependencies(self, db: &impl DefDatabase) -> Vec<CrateDependency> {
|
||||||
self.dependencies_impl(db)
|
db.crate_graph()
|
||||||
|
.dependencies(self.crate_id)
|
||||||
|
.map(|dep| {
|
||||||
|
let krate = Crate { crate_id: dep.crate_id() };
|
||||||
|
let name = dep.as_name();
|
||||||
|
CrateDependency { krate, name }
|
||||||
|
})
|
||||||
|
.collect()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn root_module(self, db: &impl DefDatabase) -> Option<Module> {
|
pub fn root_module(self, db: &impl DefDatabase) -> Option<Module> {
|
||||||
self.root_module_impl(db)
|
let module_id = db.crate_def_map(self).root();
|
||||||
|
let module = Module { krate: self, module_id };
|
||||||
|
Some(module)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn edition(self, db: &impl DefDatabase) -> Edition {
|
pub fn edition(self, db: &impl DefDatabase) -> Edition {
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
mod krate; // `crate` is invalid ident :(
|
|
||||||
mod konst; // `const` is invalid ident :(
|
mod konst; // `const` is invalid ident :(
|
||||||
mod module;
|
mod module;
|
||||||
pub(crate) mod function;
|
pub(crate) mod function;
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
use crate::{
|
|
||||||
Crate, CrateDependency, AsName, Module, DefDatabase,
|
|
||||||
};
|
|
||||||
|
|
||||||
impl Crate {
|
|
||||||
pub(crate) fn dependencies_impl(&self, db: &impl DefDatabase) -> Vec<CrateDependency> {
|
|
||||||
let crate_graph = db.crate_graph();
|
|
||||||
crate_graph
|
|
||||||
.dependencies(self.crate_id)
|
|
||||||
.map(|dep| {
|
|
||||||
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 DefDatabase) -> Option<Module> {
|
|
||||||
let module_id = db.crate_def_map(*self).root();
|
|
||||||
let module = Module { krate: *self, module_id };
|
|
||||||
Some(module)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user