diff options
author | Aleksey Kladov <[email protected]> | 2019-06-11 15:43:36 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-06-11 16:28:51 +0100 |
commit | 178d8e96b5c810f40e7dd282ab06bb25d1fc8a2a (patch) | |
tree | 6ce44285c249ef6a7f8803a3be2de579f97ba766 /crates/ra_hir/src/code_model.rs | |
parent | 8b94b429e5a76a0518b07111f8faf0dca7457948 (diff) |
use Source for StructField
Diffstat (limited to 'crates/ra_hir/src/code_model.rs')
-rw-r--r-- | crates/ra_hir/src/code_model.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index adb61a804..4c121503e 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs | |||
@@ -346,13 +346,20 @@ pub enum FieldSource { | |||
346 | Pos(TreeArc<ast::PosFieldDef>), | 346 | Pos(TreeArc<ast::PosFieldDef>), |
347 | } | 347 | } |
348 | 348 | ||
349 | impl HasSource for StructField { | ||
350 | type Ast = FieldSource; | ||
351 | fn source(self, db: &(impl DefDatabase + AstDatabase)) -> Source<FieldSource> { | ||
352 | self.source_impl(db).into() | ||
353 | } | ||
354 | } | ||
355 | |||
349 | impl StructField { | 356 | impl StructField { |
350 | pub fn name(&self, db: &impl HirDatabase) -> Name { | 357 | pub fn name(&self, db: &impl HirDatabase) -> Name { |
351 | self.parent.variant_data(db).fields().unwrap()[self.id].name.clone() | 358 | self.parent.variant_data(db).fields().unwrap()[self.id].name.clone() |
352 | } | 359 | } |
353 | 360 | ||
354 | pub fn source(&self, db: &(impl DefDatabase + AstDatabase)) -> (HirFileId, FieldSource) { | 361 | pub fn source(&self, db: &(impl DefDatabase + AstDatabase)) -> Source<FieldSource> { |
355 | self.source_impl(db) | 362 | self.source_impl(db).into() |
356 | } | 363 | } |
357 | 364 | ||
358 | pub fn ty(&self, db: &impl HirDatabase) -> Ty { | 365 | pub fn ty(&self, db: &impl HirDatabase) -> Ty { |