mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-26 20:09:19 +00:00
minor: Simplify
This commit is contained in:
parent
f5229cebb2
commit
88e297e47d
6 changed files with 20 additions and 25 deletions
|
@ -7,9 +7,9 @@
|
|||
|
||||
use arrayvec::ArrayVec;
|
||||
use hir::{
|
||||
Adt, AsAssocItem, AssocItem, BuiltinAttr, BuiltinType, Const, Field, Function, GenericParam,
|
||||
HasVisibility, Impl, ItemInNs, Label, Local, Macro, Module, ModuleDef, Name, PathResolution,
|
||||
Semantics, Static, ToolModule, Trait, TypeAlias, Variant, Visibility,
|
||||
Adt, AsAssocItem, AssocItem, BuiltinAttr, BuiltinType, Const, Crate, Field, Function,
|
||||
GenericParam, HasVisibility, Impl, ItemInNs, Label, Local, Macro, Module, ModuleDef, Name,
|
||||
PathResolution, Semantics, Static, ToolModule, Trait, TypeAlias, Variant, Visibility,
|
||||
};
|
||||
use stdx::impl_from;
|
||||
use syntax::{
|
||||
|
@ -46,6 +46,13 @@ impl Definition {
|
|||
self.module(db).map(|it| it.path_to_root(db).into_iter().rev())
|
||||
}
|
||||
|
||||
pub fn krate(&self, db: &RootDatabase) -> Option<Crate> {
|
||||
Some(match self {
|
||||
Definition::Module(m) => m.krate(),
|
||||
_ => self.module(db)?.krate(),
|
||||
})
|
||||
}
|
||||
|
||||
pub fn module(&self, db: &RootDatabase) -> Option<Module> {
|
||||
let module = match self {
|
||||
Definition::Macro(it) => it.module(db),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue