(
&mut self,
start: Node,
lhs: Expression,
)
| 1220 | } |
| 1221 | |
| 1222 | fn parse_ann_assign_statement( |
| 1223 | &mut self, |
| 1224 | start: Node, |
| 1225 | lhs: Expression, |
| 1226 | ) -> Result<Statement, ParsingError> { |
| 1227 | self.bump(Kind::Colon); |
| 1228 | let annotation = self.parse_expression()?; |
| 1229 | let value = if self.eat(Kind::Assign) { |
| 1230 | Some(self.parse_assignment_value()?) |
| 1231 | } else { |
| 1232 | None |
| 1233 | }; |
| 1234 | let simple = if let Expression::Name(name) = &lhs { |
| 1235 | !name.parenthesized |
| 1236 | } else { |
| 1237 | false |
| 1238 | }; |
| 1239 | Ok(Statement::AnnAssignStatement(Box::new(AnnAssign { |
| 1240 | node: self.finish_node(start), |
| 1241 | target: lhs, |
| 1242 | annotation, |
| 1243 | value, |
| 1244 | simple, |
| 1245 | }))) |
| 1246 | } |
| 1247 | |
| 1248 | // The value is either expression list or yield expression |
| 1249 | // https://docs.python.org/3/reference/simple_stmts.html#assignment-statements |
no test coverage detected