use Source for StructField

This commit is contained in:
Aleksey Kladov 2019-06-11 17:43:36 +03:00
parent 8b94b429e5
commit 178d8e96b5
5 changed files with 17 additions and 10 deletions

View file

@ -346,13 +346,20 @@ pub enum FieldSource {
Pos(TreeArc<ast::PosFieldDef>),
}
impl HasSource for StructField {
type Ast = FieldSource;
fn source(self, db: &(impl DefDatabase + AstDatabase)) -> Source<FieldSource> {
self.source_impl(db).into()
}
}
impl StructField {
pub fn name(&self, db: &impl HirDatabase) -> Name {
self.parent.variant_data(db).fields().unwrap()[self.id].name.clone()
}
pub fn source(&self, db: &(impl DefDatabase + AstDatabase)) -> (HirFileId, FieldSource) {
self.source_impl(db)
pub fn source(&self, db: &(impl DefDatabase + AstDatabase)) -> Source<FieldSource> {
self.source_impl(db).into()
}
pub fn ty(&self, db: &impl HirDatabase) -> Ty {