https://docs.python.org/3/reference/simple_stmts.html#the-import-statement
(&mut self)
| 1392 | |
| 1393 | // https://docs.python.org/3/reference/simple_stmts.html#the-import-statement |
| 1394 | fn parse_import_statement(&mut self) -> Result<Statement, ParsingError> { |
| 1395 | let node = self.start_node(); |
| 1396 | self.bump(Kind::Import); |
| 1397 | let mut aliases = vec![]; |
| 1398 | while self.at(Kind::Identifier) { |
| 1399 | let node = self.start_node(); |
| 1400 | let (module, _) = self.parse_module_name()?; |
| 1401 | let alias = self.parse_alias(module, node); |
| 1402 | aliases.push(alias); |
| 1403 | |
| 1404 | if !self.eat(Kind::Comma) { |
| 1405 | break; |
| 1406 | } |
| 1407 | } |
| 1408 | Ok(Statement::Import(Box::new(Import { |
| 1409 | node: self.finish_node(node), |
| 1410 | names: aliases, |
| 1411 | }))) |
| 1412 | } |
| 1413 | |
| 1414 | // https://docs.python.org/3/reference/simple_stmts.html#the-from-import-statement |
| 1415 | fn parse_from_import_statement(&mut self) -> Result<Statement, ParsingError> { |
no test coverage detected