mirror of
https://github.com/python/cpython.git
synced 2025-08-02 16:13:13 +00:00
Oops, bug omission: also scan internal code objects for imports!
This commit is contained in:
parent
912a14c028
commit
3c51cf2b69
1 changed files with 37 additions and 31 deletions
|
@ -232,6 +232,11 @@ class ModuleFinder:
|
|||
if co:
|
||||
m.__file__ = pathname
|
||||
m.__code__ = co
|
||||
self.scan_code(co, m)
|
||||
self.msgout(2, "load_module ->", m)
|
||||
return m
|
||||
|
||||
def scan_code(self, co, m):
|
||||
code = co.co_code
|
||||
n = len(code)
|
||||
i = 0
|
||||
|
@ -263,8 +268,9 @@ class ModuleFinder:
|
|||
self.badmodules[fullname] = None
|
||||
else:
|
||||
lastname = None
|
||||
self.msgout(2, "load_module ->", m)
|
||||
return m
|
||||
for c in co.co_consts:
|
||||
if isinstance(c, type(co)):
|
||||
self.scan_code(c, m)
|
||||
|
||||
def load_package(self, fqname, pathname):
|
||||
self.msgin(2, "load_package", fqname, pathname)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue