(&mut self)
| 367 | } |
| 368 | |
| 369 | fn parse_prefix_expr(&mut self) -> Option<Expr> { |
| 370 | let prefix = match self.current_token { |
| 371 | Token::Bang => Prefix::Exclamation, |
| 372 | Token::Minus => Prefix::Minus, |
| 373 | Token::Plus => Prefix::Plus, |
| 374 | _ => return None, |
| 375 | }; |
| 376 | |
| 377 | self.next_token(); |
| 378 | |
| 379 | self.parse_expr(Precedence::Prefix) |
| 380 | .map(|expr| Expr::Prefix(prefix, Box::new(expr))) |
| 381 | } |
| 382 | |
| 383 | fn parse_infix_expr(&mut self, left: Expr) -> Option<Expr> { |
| 384 | let infix = match self.current_token { |
no test coverage detected