diff options
Diffstat (limited to 'crates/ra_ide_db')
-rw-r--r-- | crates/ra_ide_db/src/defs.rs | 10 | ||||
-rw-r--r-- | crates/ra_ide_db/src/source_change.rs | 6 |
2 files changed, 11 insertions, 5 deletions
diff --git a/crates/ra_ide_db/src/defs.rs b/crates/ra_ide_db/src/defs.rs index 40d0e77b5..f990e3bb9 100644 --- a/crates/ra_ide_db/src/defs.rs +++ b/crates/ra_ide_db/src/defs.rs | |||
@@ -6,7 +6,7 @@ | |||
6 | // FIXME: this badly needs rename/rewrite (matklad, 2020-02-06). | 6 | // FIXME: this badly needs rename/rewrite (matklad, 2020-02-06). |
7 | 7 | ||
8 | use hir::{ | 8 | use hir::{ |
9 | Field, HasVisibility, ImplDef, Local, MacroDef, Module, ModuleDef, Name, PathResolution, | 9 | Adt, Field, HasVisibility, ImplDef, Local, MacroDef, Module, ModuleDef, Name, PathResolution, |
10 | Semantics, TypeParam, Visibility, | 10 | Semantics, TypeParam, Visibility, |
11 | }; | 11 | }; |
12 | use ra_prof::profile; | 12 | use ra_prof::profile; |
@@ -47,7 +47,13 @@ impl Definition { | |||
47 | match self { | 47 | match self { |
48 | Definition::Macro(_) => None, | 48 | Definition::Macro(_) => None, |
49 | Definition::Field(sf) => Some(sf.visibility(db)), | 49 | Definition::Field(sf) => Some(sf.visibility(db)), |
50 | Definition::ModuleDef(def) => module?.visibility_of(db, def), | 50 | Definition::ModuleDef(def) => match def { |
51 | ModuleDef::EnumVariant(id) => { | ||
52 | let parent = id.parent_enum(db); | ||
53 | module?.visibility_of(db, &ModuleDef::Adt(Adt::Enum(parent))) | ||
54 | } | ||
55 | _ => module?.visibility_of(db, def), | ||
56 | }, | ||
51 | Definition::SelfType(_) => None, | 57 | Definition::SelfType(_) => None, |
52 | Definition::Local(_) => None, | 58 | Definition::Local(_) => None, |
53 | Definition::TypeParam(_) => None, | 59 | Definition::TypeParam(_) => None, |
diff --git a/crates/ra_ide_db/src/source_change.rs b/crates/ra_ide_db/src/source_change.rs index 4dd01b312..af81a91a4 100644 --- a/crates/ra_ide_db/src/source_change.rs +++ b/crates/ra_ide_db/src/source_change.rs | |||
@@ -6,7 +6,7 @@ | |||
6 | use ra_db::{FileId, FilePosition, RelativePathBuf, SourceRootId}; | 6 | use ra_db::{FileId, FilePosition, RelativePathBuf, SourceRootId}; |
7 | use ra_text_edit::{TextEdit, TextSize}; | 7 | use ra_text_edit::{TextEdit, TextSize}; |
8 | 8 | ||
9 | #[derive(Debug)] | 9 | #[derive(Debug, Clone)] |
10 | pub struct SourceChange { | 10 | pub struct SourceChange { |
11 | /// For display in the undo log in the editor | 11 | /// For display in the undo log in the editor |
12 | pub label: String, | 12 | pub label: String, |
@@ -90,13 +90,13 @@ impl SourceChange { | |||
90 | } | 90 | } |
91 | } | 91 | } |
92 | 92 | ||
93 | #[derive(Debug)] | 93 | #[derive(Debug, Clone)] |
94 | pub struct SourceFileEdit { | 94 | pub struct SourceFileEdit { |
95 | pub file_id: FileId, | 95 | pub file_id: FileId, |
96 | pub edit: TextEdit, | 96 | pub edit: TextEdit, |
97 | } | 97 | } |
98 | 98 | ||
99 | #[derive(Debug)] | 99 | #[derive(Debug, Clone)] |
100 | pub enum FileSystemEdit { | 100 | pub enum FileSystemEdit { |
101 | CreateFile { source_root: SourceRootId, path: RelativePathBuf }, | 101 | CreateFile { source_root: SourceRootId, path: RelativePathBuf }, |
102 | MoveFile { src: FileId, dst_source_root: SourceRootId, dst_path: RelativePathBuf }, | 102 | MoveFile { src: FileId, dst_source_root: SourceRootId, dst_path: RelativePathBuf }, |