1616 # Platform doesn't support dynamic loading.
1717 load_dynamic = None
1818
19- from importlib ._bootstrap import SourcelessFileLoader , _ERR_MSG , _SpecMethods
19+ from importlib ._bootstrap import SourcelessFileLoader , _ERR_MSG , _exec , _load
2020
2121from importlib import machinery
2222from importlib import util
@@ -164,11 +164,10 @@ class _LoadSourceCompatibility(_HackedGetData, machinery.SourceFileLoader):
164164def load_source (name , pathname , file = None ):
165165 loader = _LoadSourceCompatibility (name , pathname , file )
166166 spec = util .spec_from_file_location (name , pathname , loader = loader )
167- methods = _SpecMethods (spec )
168167 if name in sys .modules :
169- module = methods . exec ( sys .modules [name ])
168+ module = _exec ( spec , sys .modules [name ])
170169 else :
171- module = methods . load ( )
170+ module = _load ( spec )
172171 # To allow reloading to potentially work, use a non-hacked loader which
173172 # won't rely on a now-closed file object.
174173 module .__loader__ = machinery .SourceFileLoader (name , pathname )
@@ -185,11 +184,10 @@ def load_compiled(name, pathname, file=None):
185184 """**DEPRECATED**"""
186185 loader = _LoadCompiledCompatibility (name , pathname , file )
187186 spec = util .spec_from_file_location (name , pathname , loader = loader )
188- methods = _SpecMethods (spec )
189187 if name in sys .modules :
190- module = methods . exec ( sys .modules [name ])
188+ module = _exec ( spec , sys .modules [name ])
191189 else :
192- module = methods . load ( )
190+ module = _load ( spec )
193191 # To allow reloading to potentially work, use a non-hacked loader which
194192 # won't rely on a now-closed file object.
195193 module .__loader__ = SourcelessFileLoader (name , pathname )
@@ -210,11 +208,10 @@ def load_package(name, path):
210208 raise ValueError ('{!r} is not a package' .format (path ))
211209 spec = util .spec_from_file_location (name , path ,
212210 submodule_search_locations = [])
213- methods = _SpecMethods (spec )
214211 if name in sys .modules :
215- return methods . exec ( sys .modules [name ])
212+ return _exec ( spec , sys .modules [name ])
216213 else :
217- return methods . load ( )
214+ return _load ( spec )
218215
219216
220217def load_module (name , file , filename , details ):
0 commit comments