MCPcopy Create free account
hub / github.com/astral-sh/ruff / parse_list_expression

Method parse_list_expression

crates/ruff_python_parser/src/parser/expression.rs:2482–2507  ·  view source on GitHub ↗

Parses a list expression. See:

(&mut self, first_element: Expr, start: TextSize)

Source from the content-addressed store, hash-verified

2480 ///
2481 /// See: <https://docs.python.org/3/reference/expressions.html#list-displays>
2482 fn parse_list_expression(&mut self, first_element: Expr, start: TextSize) -> ast::ExprList {
2483 if !self.at_sequence_end() {
2484 self.expect(TokenKind::Comma);
2485 }
2486
2487 let mut elts = vec![first_element];
2488
2489 self.parse_comma_separated_list(RecoveryContextKind::ListElements, |parser| {
2490 elts.push(
2491 parser
2492 .parse_named_expression_or_higher(ExpressionContext::starred_bitwise_or())
2493 .expr,
2494 );
2495 });
2496
2497 self.expect(TokenKind::Rsqb);
2498
2499 elts.shrink_to_fit();
2500
2501 ast::ExprList {
2502 elts,
2503 ctx: ExprContext::Load,
2504 range: self.node_range(start),
2505 node_index: AtomicNodeIndex::NONE,
2506 }
2507 }
2508
2509 /// Parses a set expression.
2510 ///

Callers 1

Calls 7

at_sequence_endMethod · 0.80
expectMethod · 0.80
node_rangeMethod · 0.80
pushMethod · 0.45
shrink_to_fitMethod · 0.45

Tested by

no test coverage detected