MCPcopy Create free account
hub / github.com/sphinx-doc/sphinx / parse

Method parse

sphinx/pycode/parser.py:534–555  ·  view source on GitHub ↗

Parse the code to obtain location of definitions.

(self)

Source from the content-addressed store, hash-verified

532 self.definitions[name] = entry
533
534 def parse(self) -> None:
535 """Parse the code to obtain location of definitions."""
536 while True:
537 token = self.fetch_token()
538 if token is None:
539 break
540 if token == COMMENT:
541 pass
542 elif token == [OP, '@'] and (
543 self.previous is None
544 or self.previous.match(NEWLINE, NL, INDENT, DEDENT)
545 ):
546 if self.decorator is None:
547 self.decorator = token
548 elif token.match([NAME, 'class']):
549 self.parse_definition('class')
550 elif token.match([NAME, 'def']):
551 self.parse_definition('def')
552 elif token == INDENT:
553 self.indents.append(('other', None, None))
554 elif token == DEDENT:
555 self.finalize_block()
556
557 def parse_definition(self, typ: str) -> None:
558 """Parse AST of definition."""

Callers 1

parse_definitionMethod · 0.95

Calls 5

parse_definitionMethod · 0.95
finalize_blockMethod · 0.95
fetch_tokenMethod · 0.80
matchMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected