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

Method parse_match_pattern_star

crates/ruff_python_parser/src/parser/pattern.rs:292–307  ·  view source on GitHub ↗

Parses a star pattern. # Panics If the parser isn't positioned at a `*` token. See:

(&mut self)

Source from the content-addressed store, hash-verified

290 ///
291 /// See: <https://docs.python.org/3/reference/compound_stmts.html#grammar-token-python-grammar-star_pattern>
292 fn parse_match_pattern_star(&mut self) -> ast::PatternMatchStar {
293 let start = self.node_start();
294 self.bump(TokenKind::Star);
295
296 let ident = self.parse_identifier();
297
298 ast::PatternMatchStar {
299 range: self.node_range(start),
300 name: if ident.is_valid() && ident.id == "_" {
301 None
302 } else {
303 Some(ident)
304 },
305 node_index: AtomicNodeIndex::NONE,
306 }
307 }
308
309 /// Parses a binding target in an `as` or mapping pattern.
310 fn parse_match_pattern_target(&mut self) -> ast::Identifier {

Callers 1

Calls 5

node_startMethod · 0.80
parse_identifierMethod · 0.80
node_rangeMethod · 0.80
is_validMethod · 0.80
bumpMethod · 0.45

Tested by

no test coverage detected