mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 12:54:58 +00:00
Basics for trait method resolution
This commit is contained in:
parent
bb77bc5c2f
commit
c947c15ce1
11 changed files with 156 additions and 25 deletions
|
@ -17,6 +17,7 @@ use crate::{
|
|||
impl_block::ImplBlock,
|
||||
resolve::Resolver,
|
||||
diagnostics::DiagnosticSink,
|
||||
traits::{TraitItem, TraitData},
|
||||
};
|
||||
|
||||
/// hir::Crate describes a single crate. It's the main interface with which
|
||||
|
@ -649,6 +650,18 @@ impl Trait {
|
|||
pub fn generic_params(&self, db: &impl DefDatabase) -> Arc<GenericParams> {
|
||||
db.generic_params((*self).into())
|
||||
}
|
||||
|
||||
pub fn name(self, db: &impl DefDatabase) -> Option<Name> {
|
||||
self.trait_data(db).name().clone()
|
||||
}
|
||||
|
||||
pub fn items(self, db: &impl DefDatabase) -> Vec<TraitItem> {
|
||||
self.trait_data(db).items().to_vec()
|
||||
}
|
||||
|
||||
pub(crate) fn trait_data(self, db: &impl DefDatabase) -> Arc<TraitData> {
|
||||
db.trait_data(self)
|
||||
}
|
||||
}
|
||||
|
||||
impl Docs for Trait {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue