diff options
Diffstat (limited to 'crates/ra_hir/src/nameres/raw.rs')
-rw-r--r-- | crates/ra_hir/src/nameres/raw.rs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/crates/ra_hir/src/nameres/raw.rs b/crates/ra_hir/src/nameres/raw.rs index bd32b264b..1b4dcbb7a 100644 --- a/crates/ra_hir/src/nameres/raw.rs +++ b/crates/ra_hir/src/nameres/raw.rs | |||
@@ -1,7 +1,4 @@ | |||
1 | use std::{ | 1 | use std::{sync::Arc, ops::Index}; |
2 | sync::Arc, | ||
3 | ops::Index, | ||
4 | }; | ||
5 | 2 | ||
6 | use test_utils::tested_by; | 3 | use test_utils::tested_by; |
7 | use ra_arena::{Arena, impl_arena_id, RawId, map::ArenaMap}; | 4 | use ra_arena::{Arena, impl_arena_id, RawId, map::ArenaMap}; |
@@ -10,10 +7,7 @@ use ra_syntax::{ | |||
10 | ast::{self, NameOwner, AttrsOwner}, | 7 | ast::{self, NameOwner, AttrsOwner}, |
11 | }; | 8 | }; |
12 | 9 | ||
13 | use crate::{ | 10 | use crate::{DefDatabase, Name, AsName, Path, HirFileId, ModuleSource, AstIdMap, FileAstId, Either}; |
14 | DefDatabase, Name, AsName, Path, HirFileId, ModuleSource, | ||
15 | AstIdMap, FileAstId, Either, | ||
16 | }; | ||
17 | 11 | ||
18 | /// `RawItems` is a set of top-level items in a file (except for impls). | 12 | /// `RawItems` is a set of top-level items in a file (except for impls). |
19 | /// | 13 | /// |
@@ -161,6 +155,7 @@ pub(super) struct DefData { | |||
161 | pub(super) enum DefKind { | 155 | pub(super) enum DefKind { |
162 | Function(FileAstId<ast::FnDef>), | 156 | Function(FileAstId<ast::FnDef>), |
163 | Struct(FileAstId<ast::StructDef>), | 157 | Struct(FileAstId<ast::StructDef>), |
158 | Union(FileAstId<ast::StructDef>), | ||
164 | Enum(FileAstId<ast::EnumDef>), | 159 | Enum(FileAstId<ast::EnumDef>), |
165 | Const(FileAstId<ast::ConstDef>), | 160 | Const(FileAstId<ast::ConstDef>), |
166 | Static(FileAstId<ast::StaticDef>), | 161 | Static(FileAstId<ast::StaticDef>), |
@@ -215,7 +210,13 @@ impl RawItemsCollector { | |||
215 | return; | 210 | return; |
216 | } | 211 | } |
217 | ast::ModuleItemKind::StructDef(it) => { | 212 | ast::ModuleItemKind::StructDef(it) => { |
218 | (DefKind::Struct(self.source_ast_id_map.ast_id(it)), it.name()) | 213 | let id = self.source_ast_id_map.ast_id(it); |
214 | let name = it.name(); | ||
215 | if it.is_union() { | ||
216 | (DefKind::Union(id), name) | ||
217 | } else { | ||
218 | (DefKind::Struct(id), name) | ||
219 | } | ||
219 | } | 220 | } |
220 | ast::ModuleItemKind::EnumDef(it) => { | 221 | ast::ModuleItemKind::EnumDef(it) => { |
221 | (DefKind::Enum(self.source_ast_id_map.ast_id(it)), it.name()) | 222 | (DefKind::Enum(self.source_ast_id_map.ast_id(it)), it.name()) |