Issue #14605: Rename _SourcelessFileLoader to SourcelessFileLoader.
This time also recreating the Python/importlib.h file to make make happy. See the ticket for details.
This commit is contained in:
parent
ac8805a01a
commit
4fe29c9657
|
@ -606,18 +606,15 @@ find and load modules.
|
|||
Load the specified module if it is the same as :attr:`name`.
|
||||
|
||||
|
||||
.. class:: _SourcelessFileLoader(fullname, path)
|
||||
.. class:: SourcelessFileLoader(fullname, path)
|
||||
|
||||
A concrete implementation of :class:`importlib.abc.FileLoader` which can
|
||||
import bytecode files (i.e. no source code files exist).
|
||||
|
||||
It is **strongly** suggested you do not rely on this loader (hence the
|
||||
leading underscore of the class). Direct use of bytecode files (and thus not
|
||||
source code files) inhibits your modules from being usable by all Python
|
||||
implementations. It also runs the risk of your bytecode files not being
|
||||
usable by new versions of Python which change the bytecode format. This
|
||||
class is only documented as it is directly used by import and thus can
|
||||
potentially have instances show up as a module's ``__loader__`` attribute.
|
||||
Please note that direct use of bytecode files (and thus not source code
|
||||
files) inhibits your modules from being usable by all Python
|
||||
implementations or new versions of Python which change the bytecode
|
||||
format.
|
||||
|
||||
.. versionadded:: 3.3
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ def load_source(name, pathname, file=None):
|
|||
|
||||
|
||||
class _LoadCompiledCompatibility(_HackedGetData,
|
||||
_bootstrap._SourcelessFileLoader):
|
||||
_bootstrap.SourcelessFileLoader):
|
||||
|
||||
"""Compatibility support for implementing load_compiled()."""
|
||||
|
||||
|
|
|
@ -671,7 +671,7 @@ class SourceFileLoader(FileLoader, SourceLoader):
|
|||
pass
|
||||
|
||||
|
||||
class _SourcelessFileLoader(FileLoader, _LoaderBasics):
|
||||
class SourcelessFileLoader(FileLoader, _LoaderBasics):
|
||||
|
||||
"""Loader which handles sourceless file imports."""
|
||||
|
||||
|
@ -1198,7 +1198,7 @@ def _setup(sys_module, _imp_module):
|
|||
|
||||
supported_loaders = [(ExtensionFileLoader, _suffix_list(3), False),
|
||||
(SourceFileLoader, _suffix_list(1), True),
|
||||
(_SourcelessFileLoader, _suffix_list(2), True)]
|
||||
(SourcelessFileLoader, _suffix_list(2), True)]
|
||||
setattr(self_module, '_DEFAULT_PATH_HOOK',
|
||||
FileFinder.path_hook(*supported_loaders))
|
||||
|
||||
|
|
|
@ -119,7 +119,7 @@ class FileLoader(_bootstrap.FileLoader, ResourceLoader, ExecutionLoader):
|
|||
ExecutionLoader ABCs."""
|
||||
|
||||
_register(FileLoader, machinery.SourceFileLoader,
|
||||
machinery._SourcelessFileLoader)
|
||||
machinery.SourcelessFileLoader)
|
||||
|
||||
|
||||
class SourceLoader(_bootstrap.SourceLoader, ResourceLoader, ExecutionLoader):
|
||||
|
|
|
@ -5,5 +5,5 @@ from ._bootstrap import FrozenImporter
|
|||
from ._bootstrap import PathFinder
|
||||
from ._bootstrap import FileFinder
|
||||
from ._bootstrap import SourceFileLoader
|
||||
from ._bootstrap import _SourcelessFileLoader
|
||||
from ._bootstrap import SourcelessFileLoader
|
||||
from ._bootstrap import ExtensionFileLoader
|
||||
|
|
|
@ -24,7 +24,7 @@ class CaseSensitivityTest(unittest.TestCase):
|
|||
(_bootstrap.SourceFileLoader,
|
||||
_bootstrap._suffix_list(imp.PY_SOURCE),
|
||||
True),
|
||||
(_bootstrap._SourcelessFileLoader,
|
||||
(_bootstrap.SourcelessFileLoader,
|
||||
_bootstrap._suffix_list(imp.PY_COMPILED),
|
||||
True))
|
||||
return finder.find_module(self.name)
|
||||
|
|
|
@ -379,7 +379,7 @@ class SourceLoaderBadBytecodeTest(BadBytecodeTest):
|
|||
|
||||
class SourcelessLoaderBadBytecodeTest(BadBytecodeTest):
|
||||
|
||||
loader = _bootstrap._SourcelessFileLoader
|
||||
loader = _bootstrap.SourcelessFileLoader
|
||||
|
||||
def test_empty_file(self):
|
||||
def test(name, mapping, bytecode_path):
|
||||
|
|
|
@ -38,7 +38,7 @@ class FinderTests(abc.FinderTests):
|
|||
def import_(self, root, module):
|
||||
loader_details = [(_bootstrap.SourceFileLoader,
|
||||
_bootstrap._suffix_list(imp.PY_SOURCE), True),
|
||||
(_bootstrap._SourcelessFileLoader,
|
||||
(_bootstrap.SourcelessFileLoader,
|
||||
_bootstrap._suffix_list(imp.PY_COMPILED), True)]
|
||||
finder = _bootstrap.FileFinder(root, *loader_details)
|
||||
return finder.find_module(module)
|
||||
|
|
|
@ -62,7 +62,7 @@ class ExecutionLoader(InheritanceTests, unittest.TestCase):
|
|||
class FileLoader(InheritanceTests, unittest.TestCase):
|
||||
|
||||
superclasses = [abc.ResourceLoader, abc.ExecutionLoader]
|
||||
subclasses = [machinery.SourceFileLoader, machinery._SourcelessFileLoader]
|
||||
subclasses = [machinery.SourceFileLoader, machinery.SourcelessFileLoader]
|
||||
|
||||
|
||||
class SourceLoader(InheritanceTests, unittest.TestCase):
|
||||
|
|
|
@ -84,7 +84,7 @@ Library
|
|||
which send EOF without trailing \r\n.
|
||||
|
||||
- Issue #14605: Add importlib.abc.FileLoader, importlib.machinery.(FileFinder,
|
||||
SourceFileLoader, _SourcelessFileLoader, ExtensionFileLoader).
|
||||
SourceFileLoader, SourcelessFileLoader, ExtensionFileLoader).
|
||||
|
||||
- Issue #13959: imp.cache_from_source()/source_from_cache() now follow
|
||||
os.path.join()/split() semantics for path manipulation instead of its prior,
|
||||
|
|
2860
Python/importlib.h
2860
Python/importlib.h
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue