mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 21:05:02 +00:00
kill krate_impl
This commit is contained in:
parent
dbd02546b9
commit
7f22f90503
3 changed files with 12 additions and 26 deletions
|
@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue