From 0bdfc24abd043dcc985c0174ad28e7bab41edf99 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Mon, 3 Sep 2018 19:24:06 -0700 Subject: [PATCH] [lexer] Simply some Option logic --- lexer/src/states/number/mod.rs | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/lexer/src/states/number/mod.rs b/lexer/src/states/number/mod.rs index c0612a7..933fca4 100644 --- a/lexer/src/states/number/mod.rs +++ b/lexer/src/states/number/mod.rs @@ -84,11 +84,7 @@ impl Builder { } fn resolve(&self) -> i64 { - let sign_factor: i64 = if let Some(sign) = self.sign { - sign as i64 - } else { - 1 - }; + let sign_factor = self.sign_value() as i64; self.value * sign_factor } @@ -96,11 +92,6 @@ impl Builder { fn seen_radix(&self) -> bool { self.radix.is_some() } fn seen_sign(&self) -> bool { self.sign.is_some() } - fn radix_value(&self) -> u8 { - let rx = match self.radix { - Some(r) => r, - None => Radix::Dec, - }; - rx as u8 - } + fn radix_value(&self) -> u8 { self.radix.unwrap_or(Radix::Dec) as u8 } + fn sign_value(&self) -> u8 { self.sign.unwrap_or(Sign::Pos) as u8 } }