MCPcopy Index your code
hub / github.com/python/cpython / named_item

Method named_item

Tools/peg_generator/pegen/grammar_parser.py:346–392  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

344
345 @memoize
346 def named_item(self) -> Optional[NamedItem]:
347 # named_item: NAME annotation '=' ~ item | NAME '=' ~ item | item | forced_atom | lookahead
348 mark = self._mark()
349 cut = False
350 if (
351 (name := self.name())
352 and
353 (annotation := self.annotation())
354 and
355 (literal := self.expect('='))
356 and
357 (cut := True)
358 and
359 (item := self.item())
360 ):
361 return NamedItem ( name . string , item , annotation )
362 self._reset(mark)
363 if cut: return None
364 cut = False
365 if (
366 (name := self.name())
367 and
368 (literal := self.expect('='))
369 and
370 (cut := True)
371 and
372 (item := self.item())
373 ):
374 return NamedItem ( name . string , item )
375 self._reset(mark)
376 if cut: return None
377 if (
378 (item := self.item())
379 ):
380 return NamedItem ( None , item )
381 self._reset(mark)
382 if (
383 (forced := self.forced_atom())
384 ):
385 return NamedItem ( None , forced )
386 self._reset(mark)
387 if (
388 (it := self.lookahead())
389 ):
390 return NamedItem ( None , it )
391 self._reset(mark)
392 return None
393
394 @memoize
395 def forced_atom(self) -> Optional[Forced]:

Callers 1

itemsMethod · 0.95

Calls 8

annotationMethod · 0.95
itemMethod · 0.95
forced_atomMethod · 0.95
lookaheadMethod · 0.95
NamedItemClass · 0.90
nameMethod · 0.45
expectMethod · 0.45
_resetMethod · 0.45

Tested by

no test coverage detected