MCPcopy Create free account
hub / github.com/python/mypy / refresh_top_level

Method refresh_top_level

mypy/semanal.py:707–734  ·  view source on GitHub ↗

Reanalyze a stale module top-level in fine-grained incremental mode.

(self, file_node: MypyFile)

Source from the content-addressed store, hash-verified

705 del self.patches
706
707 def refresh_top_level(self, file_node: MypyFile) -> None:
708 """Reanalyze a stale module top-level in fine-grained incremental mode."""
709 if self.options.allow_redefinition and not self.options.local_partial_types:
710 n = TempNode(AnyType(TypeOfAny.special_form))
711 n.line = 1
712 n.column = 0
713 n.end_line = 1
714 n.end_column = 0
715 self.fail("--local-partial-types must be enabled if using --allow-redefinition", n)
716 if self.options.allow_redefinition and self.options.allow_redefinition_old:
717 n = TempNode(AnyType(TypeOfAny.special_form))
718 n.line = 1
719 n.column = 0
720 n.end_line = 1
721 n.end_column = 0
722 self.fail(
723 "--allow-redefinition-old and --allow-redefinition should not be used together", n
724 )
725 self.recurse_into_functions = False
726 self.add_implicit_module_attrs(file_node)
727 for d in file_node.defs:
728 self.accept(d)
729 if file_node.fullname == "typing":
730 self.add_builtin_aliases(file_node)
731 if file_node.fullname == "typing_extensions":
732 self.add_typing_extension_aliases(file_node)
733 self.adjust_public_exports()
734 self.all_exports = []
735
736 def add_implicit_module_attrs(self, file_node: MypyFile) -> None:
737 """Manually add implicit definitions of module '__name__' etc."""

Callers 1

refresh_partialMethod · 0.95

Calls 8

failMethod · 0.95
acceptMethod · 0.95
add_builtin_aliasesMethod · 0.95
adjust_public_exportsMethod · 0.95
TempNodeClass · 0.90
AnyTypeClass · 0.90

Tested by

no test coverage detected