diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-01-25 08:40:37 +0000 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-01-25 08:40:37 +0000 |
commit | c4a351b736632f0c01d9c51ce1cd3b4b4c6194d9 (patch) | |
tree | 656ed2e90603c06af1df84c6a9bc3a7c5046eff2 /crates/ra_hir/src/code_model_api.rs | |
parent | 946aea3eb34d1b7f09900e017bb94708e6299d0a (diff) | |
parent | 2ee2fba752c0f03ab8d1b7009bc56cc785738413 (diff) |
Merge #635
635: switch to positional ids for enum variants r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_hir/src/code_model_api.rs')
-rw-r--r-- | crates/ra_hir/src/code_model_api.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/crates/ra_hir/src/code_model_api.rs b/crates/ra_hir/src/code_model_api.rs index a469ad477..4fc47aba5 100644 --- a/crates/ra_hir/src/code_model_api.rs +++ b/crates/ra_hir/src/code_model_api.rs | |||
@@ -15,7 +15,7 @@ use crate::{ | |||
15 | generics::GenericParams, | 15 | generics::GenericParams, |
16 | docs::{Documentation, Docs, docs_from_ast}, | 16 | docs::{Documentation, Docs, docs_from_ast}, |
17 | module_tree::ModuleId, | 17 | module_tree::ModuleId, |
18 | ids::{FunctionId, StructId, EnumId, EnumVariantId, AstItemDef, ConstId, StaticId, TraitId, TypeId}, | 18 | ids::{FunctionId, StructId, EnumId, AstItemDef, ConstId, StaticId, TraitId, TypeId}, |
19 | }; | 19 | }; |
20 | 20 | ||
21 | /// hir::Crate describes a single crate. It's the main interface with which | 21 | /// hir::Crate describes a single crate. It's the main interface with which |
@@ -269,18 +269,19 @@ impl Docs for Enum { | |||
269 | 269 | ||
270 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] | 270 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] |
271 | pub struct EnumVariant { | 271 | pub struct EnumVariant { |
272 | pub(crate) id: EnumVariantId, | 272 | pub(crate) parent: Enum, |
273 | pub(crate) idx: u32, | ||
273 | } | 274 | } |
274 | 275 | ||
275 | impl EnumVariant { | 276 | impl EnumVariant { |
276 | pub fn source(&self, db: &impl HirDatabase) -> (HirFileId, TreeArc<ast::EnumVariant>) { | 277 | pub fn source(&self, db: &impl HirDatabase) -> (HirFileId, TreeArc<ast::EnumVariant>) { |
277 | self.id.source(db) | 278 | self.source_impl(db) |
278 | } | 279 | } |
279 | pub fn module(&self, db: &impl HirDatabase) -> Module { | 280 | pub fn module(&self, db: &impl HirDatabase) -> Module { |
280 | self.id.module(db) | 281 | self.parent.module(db) |
281 | } | 282 | } |
282 | pub fn parent_enum(&self, db: &impl HirDatabase) -> Enum { | 283 | pub fn parent_enum(&self, _db: &impl HirDatabase) -> Enum { |
283 | db.enum_variant_data(*self).parent_enum.clone() | 284 | self.parent |
284 | } | 285 | } |
285 | 286 | ||
286 | pub fn name(&self, db: &impl HirDatabase) -> Option<Name> { | 287 | pub fn name(&self, db: &impl HirDatabase) -> Option<Name> { |