MCPcopy Create free account
hub / github.com/Glyphack/enderpy / parse_import_statement

Method parse_import_statement

parser/src/parser/parser.rs:1394–1412  ·  view source on GitHub ↗

https://docs.python.org/3/reference/simple_stmts.html#the-import-statement

(&mut self)

Source from the content-addressed store, hash-verified

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> {

Callers 1

Calls 8

ImportClass · 0.85
start_nodeMethod · 0.80
bumpMethod · 0.80
atMethod · 0.80
parse_module_nameMethod · 0.80
parse_aliasMethod · 0.80
eatMethod · 0.80
finish_nodeMethod · 0.80

Tested by

no test coverage detected