https://docs.python.org/3/reference/expressions.html#the-power-operator
(&mut self)
| 2212 | |
| 2213 | // https://docs.python.org/3/reference/expressions.html#the-power-operator |
| 2214 | fn parse_power_expression(&mut self) -> Result<Expression, ParsingError> { |
| 2215 | let node = self.start_node(); |
| 2216 | let base = if self.at(Kind::Await) { |
| 2217 | self.bump(Kind::Await); |
| 2218 | let value = self.parse_primary(None)?; |
| 2219 | Ok(Expression::Await(Box::new(Await { |
| 2220 | node: self.finish_node(node), |
| 2221 | value, |
| 2222 | }))) |
| 2223 | } else { |
| 2224 | self.parse_primary(None) |
| 2225 | }; |
| 2226 | if self.eat(Kind::Pow) { |
| 2227 | let exponent = self.parse_unary_arithmetic_operation()?; |
| 2228 | return Ok(Expression::BinOp(Box::new(BinOp { |
| 2229 | node: self.finish_node(node), |
| 2230 | op: BinaryOperator::Pow, |
| 2231 | left: base?, |
| 2232 | right: exponent, |
| 2233 | }))); |
| 2234 | } |
| 2235 | |
| 2236 | base |
| 2237 | } |
| 2238 | |
| 2239 | // https://docs.python.org/3/reference/expressions.html#primaries |
| 2240 | // primaries can be chained together, when they are chained the base is the |
no test coverage detected