diff options
Diffstat (limited to 'crates/ra_hir/src')
-rw-r--r-- | crates/ra_hir/src/ty.rs | 4 | ||||
-rw-r--r-- | crates/ra_hir/src/ty/primitive.rs | 64 |
2 files changed, 33 insertions, 35 deletions
diff --git a/crates/ra_hir/src/ty.rs b/crates/ra_hir/src/ty.rs index f64877f3b..884cea52a 100644 --- a/crates/ra_hir/src/ty.rs +++ b/crates/ra_hir/src/ty.rs | |||
@@ -304,8 +304,8 @@ impl HirDisplay for Ty { | |||
304 | match self { | 304 | match self { |
305 | Ty::Bool => write!(f, "bool")?, | 305 | Ty::Bool => write!(f, "bool")?, |
306 | Ty::Char => write!(f, "char")?, | 306 | Ty::Char => write!(f, "char")?, |
307 | Ty::Int(t) => write!(f, "{}", t.ty_to_string())?, | 307 | Ty::Int(t) => write!(f, "{}", t)?, |
308 | Ty::Float(t) => write!(f, "{}", t.ty_to_string())?, | 308 | Ty::Float(t) => write!(f, "{}", t)?, |
309 | Ty::Str => write!(f, "str")?, | 309 | Ty::Str => write!(f, "str")?, |
310 | Ty::Slice(t) | Ty::Array(t) => { | 310 | Ty::Slice(t) | Ty::Array(t) => { |
311 | write!(f, "[{}]", t.display(f.db))?; | 311 | write!(f, "[{}]", t.display(f.db))?; |
diff --git a/crates/ra_hir/src/ty/primitive.rs b/crates/ra_hir/src/ty/primitive.rs index 5741ca90d..30aeac48e 100644 --- a/crates/ra_hir/src/ty/primitive.rs +++ b/crates/ra_hir/src/ty/primitive.rs | |||
@@ -10,14 +10,6 @@ pub enum UncertainIntTy { | |||
10 | } | 10 | } |
11 | 11 | ||
12 | impl UncertainIntTy { | 12 | impl UncertainIntTy { |
13 | pub fn ty_to_string(&self) -> &'static str { | ||
14 | match *self { | ||
15 | UncertainIntTy::Unknown => "{integer}", | ||
16 | UncertainIntTy::Signed(ty) => ty.ty_to_string(), | ||
17 | UncertainIntTy::Unsigned(ty) => ty.ty_to_string(), | ||
18 | } | ||
19 | } | ||
20 | |||
21 | pub fn from_name(name: &Name) -> Option<UncertainIntTy> { | 13 | pub fn from_name(name: &Name) -> Option<UncertainIntTy> { |
22 | if let Some(ty) = IntTy::from_name(name) { | 14 | if let Some(ty) = IntTy::from_name(name) { |
23 | Some(UncertainIntTy::Signed(ty)) | 15 | Some(UncertainIntTy::Signed(ty)) |
@@ -29,6 +21,16 @@ impl UncertainIntTy { | |||
29 | } | 21 | } |
30 | } | 22 | } |
31 | 23 | ||
24 | impl fmt::Display for UncertainIntTy { | ||
25 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | ||
26 | match *self { | ||
27 | UncertainIntTy::Unknown => write!(f, "{{integer}}"), | ||
28 | UncertainIntTy::Signed(ty) => write!(f, "{}", ty), | ||
29 | UncertainIntTy::Unsigned(ty) => write!(f, "{}", ty), | ||
30 | } | ||
31 | } | ||
32 | } | ||
33 | |||
32 | #[derive(Debug, Clone, Eq, PartialEq, Hash, Copy)] | 34 | #[derive(Debug, Clone, Eq, PartialEq, Hash, Copy)] |
33 | pub enum UncertainFloatTy { | 35 | pub enum UncertainFloatTy { |
34 | Unknown, | 36 | Unknown, |
@@ -36,13 +38,6 @@ pub enum UncertainFloatTy { | |||
36 | } | 38 | } |
37 | 39 | ||
38 | impl UncertainFloatTy { | 40 | impl UncertainFloatTy { |
39 | pub fn ty_to_string(&self) -> &'static str { | ||
40 | match *self { | ||
41 | UncertainFloatTy::Unknown => "{float}", | ||
42 | UncertainFloatTy::Known(ty) => ty.ty_to_string(), | ||
43 | } | ||
44 | } | ||
45 | |||
46 | pub fn from_name(name: &Name) -> Option<UncertainFloatTy> { | 41 | pub fn from_name(name: &Name) -> Option<UncertainFloatTy> { |
47 | if let Some(ty) = FloatTy::from_name(name) { | 42 | if let Some(ty) = FloatTy::from_name(name) { |
48 | Some(UncertainFloatTy::Known(ty)) | 43 | Some(UncertainFloatTy::Known(ty)) |
@@ -52,6 +47,15 @@ impl UncertainFloatTy { | |||
52 | } | 47 | } |
53 | } | 48 | } |
54 | 49 | ||
50 | impl fmt::Display for UncertainFloatTy { | ||
51 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | ||
52 | match *self { | ||
53 | UncertainFloatTy::Unknown => write!(f, "{{float}}"), | ||
54 | UncertainFloatTy::Known(ty) => write!(f, "{}", ty), | ||
55 | } | ||
56 | } | ||
57 | } | ||
58 | |||
55 | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Copy)] | 59 | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Copy)] |
56 | pub enum IntTy { | 60 | pub enum IntTy { |
57 | Isize, | 61 | Isize, |
@@ -70,22 +74,19 @@ impl fmt::Debug for IntTy { | |||
70 | 74 | ||
71 | impl fmt::Display for IntTy { | 75 | impl fmt::Display for IntTy { |
72 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | 76 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { |
73 | write!(f, "{}", self.ty_to_string()) | 77 | let s = match *self { |
74 | } | ||
75 | } | ||
76 | |||
77 | impl IntTy { | ||
78 | pub fn ty_to_string(&self) -> &'static str { | ||
79 | match *self { | ||
80 | IntTy::Isize => "isize", | 78 | IntTy::Isize => "isize", |
81 | IntTy::I8 => "i8", | 79 | IntTy::I8 => "i8", |
82 | IntTy::I16 => "i16", | 80 | IntTy::I16 => "i16", |
83 | IntTy::I32 => "i32", | 81 | IntTy::I32 => "i32", |
84 | IntTy::I64 => "i64", | 82 | IntTy::I64 => "i64", |
85 | IntTy::I128 => "i128", | 83 | IntTy::I128 => "i128", |
86 | } | 84 | }; |
85 | write!(f, "{}", s) | ||
87 | } | 86 | } |
87 | } | ||
88 | 88 | ||
89 | impl IntTy { | ||
89 | pub fn from_name(name: &Name) -> Option<IntTy> { | 90 | pub fn from_name(name: &Name) -> Option<IntTy> { |
90 | match name.as_known_name()? { | 91 | match name.as_known_name()? { |
91 | KnownName::Isize => Some(IntTy::Isize), | 92 | KnownName::Isize => Some(IntTy::Isize), |
@@ -109,18 +110,21 @@ pub enum UintTy { | |||
109 | U128, | 110 | U128, |
110 | } | 111 | } |
111 | 112 | ||
112 | impl UintTy { | 113 | impl fmt::Display for UintTy { |
113 | pub fn ty_to_string(&self) -> &'static str { | 114 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { |
114 | match *self { | 115 | let s = match *self { |
115 | UintTy::Usize => "usize", | 116 | UintTy::Usize => "usize", |
116 | UintTy::U8 => "u8", | 117 | UintTy::U8 => "u8", |
117 | UintTy::U16 => "u16", | 118 | UintTy::U16 => "u16", |
118 | UintTy::U32 => "u32", | 119 | UintTy::U32 => "u32", |
119 | UintTy::U64 => "u64", | 120 | UintTy::U64 => "u64", |
120 | UintTy::U128 => "u128", | 121 | UintTy::U128 => "u128", |
121 | } | 122 | }; |
123 | write!(f, "{}", s) | ||
122 | } | 124 | } |
125 | } | ||
123 | 126 | ||
127 | impl UintTy { | ||
124 | pub fn from_name(name: &Name) -> Option<UintTy> { | 128 | pub fn from_name(name: &Name) -> Option<UintTy> { |
125 | match name.as_known_name()? { | 129 | match name.as_known_name()? { |
126 | KnownName::Usize => Some(UintTy::Usize), | 130 | KnownName::Usize => Some(UintTy::Usize), |
@@ -140,12 +144,6 @@ impl fmt::Debug for UintTy { | |||
140 | } | 144 | } |
141 | } | 145 | } |
142 | 146 | ||
143 | impl fmt::Display for UintTy { | ||
144 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | ||
145 | write!(f, "{}", self.ty_to_string()) | ||
146 | } | ||
147 | } | ||
148 | |||
149 | #[derive(Clone, PartialEq, Eq, Hash, Copy, PartialOrd, Ord)] | 147 | #[derive(Clone, PartialEq, Eq, Hash, Copy, PartialOrd, Ord)] |
150 | pub enum FloatTy { | 148 | pub enum FloatTy { |
151 | F32, | 149 | F32, |