Parse the code to obtain location of definitions.
(self)
| 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.""" |
no test coverage detected