MCPcopy Index your code
hub / github.com/python/mypy / add_import

Method add_import

mypy/stubutil.py:497–515  ·  view source on GitHub ↗
(self, module: str, alias: str | None = None, require: bool = False)

Source from the content-addressed store, hash-verified

495 self.direct_imports.pop(alias or name, None)
496
497 def add_import(self, module: str, alias: str | None = None, require: bool = False) -> None:
498 if alias:
499 # 'import {module} as {alias}'
500 assert "." not in alias # invalid syntax
501 self.module_for[alias] = None
502 self.reverse_alias[alias] = module
503 if require:
504 self.required_names.add(alias)
505 else:
506 # 'import {module}'
507 name = module
508 if require:
509 self.required_names.add(name)
510 # add module and its parent packages
511 while name:
512 self.module_for[name] = None
513 self.direct_imports[name] = module
514 self.reverse_alias.pop(name, None)
515 name = name.rpartition(".")[0]
516
517 def require_name(self, name: str) -> None:
518 while name not in self.direct_imports and "." in name:

Callers 6

visit_unbound_typeMethod · 0.80
_get_func_argsMethod · 0.80
process_decoratorMethod · 0.80
visit_class_defMethod · 0.80
visit_importMethod · 0.80
generate_moduleMethod · 0.80

Calls 3

rpartitionMethod · 0.80
addMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected