diff options
author | Lukas Wirth <[email protected]> | 2021-03-16 15:36:34 +0000 |
---|---|---|
committer | Lukas Wirth <[email protected]> | 2021-03-16 15:36:34 +0000 |
commit | 4d1e1daa31239cb71a81c6958c1b9137274fd189 (patch) | |
tree | 11ceca4b2d4f0aa866baa1b9ea42af40dab99866 /crates/hir/src | |
parent | b4ed3e1551f828d44dcd8e0caf08420438e5eb1a (diff) |
Implement HirDisplay for some more types
Diffstat (limited to 'crates/hir/src')
-rw-r--r-- | crates/hir/src/display.rs | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/crates/hir/src/display.rs b/crates/hir/src/display.rs index 44cdcc296..81f0e04e5 100644 --- a/crates/hir/src/display.rs +++ b/crates/hir/src/display.rs | |||
@@ -12,8 +12,8 @@ use hir_ty::display::{ | |||
12 | use syntax::ast::{self, NameOwner}; | 12 | use syntax::ast::{self, NameOwner}; |
13 | 13 | ||
14 | use crate::{ | 14 | use crate::{ |
15 | Const, ConstParam, Enum, Field, Function, HasVisibility, Module, Static, Struct, Substs, Trait, | 15 | Adt, Const, ConstParam, Enum, Field, Function, GenericParam, HasVisibility, LifetimeParam, |
16 | Type, TypeAlias, TypeParam, Union, Variant, | 16 | Module, Static, Struct, Substs, Trait, Type, TypeAlias, TypeParam, Union, Variant, |
17 | }; | 17 | }; |
18 | 18 | ||
19 | impl HirDisplay for Function { | 19 | impl HirDisplay for Function { |
@@ -120,6 +120,16 @@ impl HirDisplay for Function { | |||
120 | } | 120 | } |
121 | } | 121 | } |
122 | 122 | ||
123 | impl HirDisplay for Adt { | ||
124 | fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> { | ||
125 | match self { | ||
126 | Adt::Struct(it) => it.hir_fmt(f), | ||
127 | Adt::Union(it) => it.hir_fmt(f), | ||
128 | Adt::Enum(it) => it.hir_fmt(f), | ||
129 | } | ||
130 | } | ||
131 | } | ||
132 | |||
123 | impl HirDisplay for Struct { | 133 | impl HirDisplay for Struct { |
124 | fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> { | 134 | fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> { |
125 | write_visibility(self.module(f.db).id, self.visibility(f.db), f)?; | 135 | write_visibility(self.module(f.db).id, self.visibility(f.db), f)?; |
@@ -211,6 +221,16 @@ impl HirDisplay for Type { | |||
211 | } | 221 | } |
212 | } | 222 | } |
213 | 223 | ||
224 | impl HirDisplay for GenericParam { | ||
225 | fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> { | ||
226 | match self { | ||
227 | GenericParam::TypeParam(it) => it.hir_fmt(f), | ||
228 | GenericParam::LifetimeParam(it) => it.hir_fmt(f), | ||
229 | GenericParam::ConstParam(it) => it.hir_fmt(f), | ||
230 | } | ||
231 | } | ||
232 | } | ||
233 | |||
214 | impl HirDisplay for TypeParam { | 234 | impl HirDisplay for TypeParam { |
215 | fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> { | 235 | fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> { |
216 | write!(f, "{}", self.name(f.db))?; | 236 | write!(f, "{}", self.name(f.db))?; |
@@ -224,6 +244,12 @@ impl HirDisplay for TypeParam { | |||
224 | } | 244 | } |
225 | } | 245 | } |
226 | 246 | ||
247 | impl HirDisplay for LifetimeParam { | ||
248 | fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> { | ||
249 | write!(f, "{}", self.name(f.db)) | ||
250 | } | ||
251 | } | ||
252 | |||
227 | impl HirDisplay for ConstParam { | 253 | impl HirDisplay for ConstParam { |
228 | fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> { | 254 | fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> { |
229 | write!(f, "const {}: ", self.name(f.db))?; | 255 | write!(f, "const {}: ", self.name(f.db))?; |