https://docs.python.org/3/reference/expressions.html#expression-lists
(&mut self)
| 2840 | |
| 2841 | // https://docs.python.org/3/reference/expressions.html#expression-lists |
| 2842 | fn parse_expression_list(&mut self) -> Result<Expression, ParsingError> { |
| 2843 | let node = self.start_node(); |
| 2844 | let mut expressions = vec![]; |
| 2845 | expressions.push(self.parse_expression()?); |
| 2846 | while self.eat(Kind::Comma) && !self.at(Kind::Eof) { |
| 2847 | if !self.cur_kind().is_star_expression() { |
| 2848 | break; |
| 2849 | } |
| 2850 | let expr = self.parse_expression()?; |
| 2851 | expressions.push(expr); |
| 2852 | } |
| 2853 | if expressions.len() == 1 { |
| 2854 | return Ok(expressions.pop().unwrap()); |
| 2855 | } |
| 2856 | Ok(Expression::Tuple(Box::new(Tuple { |
| 2857 | node: self.finish_node(node), |
| 2858 | elements: expressions, |
| 2859 | }))) |
| 2860 | } |
| 2861 | |
| 2862 | fn parse_starred_expression_real(&mut self) -> Result<Expression, ParsingError> { |
| 2863 | let node = self.start_node(); |
no test coverage detected