mirror of https://github.com/python/cpython
Issue #21156: importlib.abc.InspectLoader.source_to_code() is now a
staticmethod.
This commit is contained in:
parent
a237a98753
commit
6eaac13c92
|
@ -499,7 +499,7 @@ ABC hierarchy::
|
||||||
.. versionchanged:: 3.4
|
.. versionchanged:: 3.4
|
||||||
Raises :exc:`ImportError` instead of :exc:`NotImplementedError`.
|
Raises :exc:`ImportError` instead of :exc:`NotImplementedError`.
|
||||||
|
|
||||||
.. method:: source_to_code(data, path='<string>')
|
.. staticmethod:: source_to_code(data, path='<string>')
|
||||||
|
|
||||||
Create a code object from Python source.
|
Create a code object from Python source.
|
||||||
|
|
||||||
|
@ -508,8 +508,14 @@ ABC hierarchy::
|
||||||
the "path" to where the source code originated from, which can be an
|
the "path" to where the source code originated from, which can be an
|
||||||
abstract concept (e.g. location in a zip file).
|
abstract concept (e.g. location in a zip file).
|
||||||
|
|
||||||
|
With the subsequent code object one can execute it in a module by
|
||||||
|
running ``exec(code, module.__dict__)``.
|
||||||
|
|
||||||
.. versionadded:: 3.4
|
.. versionadded:: 3.4
|
||||||
|
|
||||||
|
.. versionchanged:: 3.5
|
||||||
|
Made the method static.
|
||||||
|
|
||||||
.. method:: exec_module(module)
|
.. method:: exec_module(module)
|
||||||
|
|
||||||
Implementation of :meth:`Loader.exec_module`.
|
Implementation of :meth:`Loader.exec_module`.
|
||||||
|
|
|
@ -158,6 +158,11 @@ Improved Modules
|
||||||
*module* contains no docstrings instead of raising :exc:`ValueError`
|
*module* contains no docstrings instead of raising :exc:`ValueError`
|
||||||
(contributed by Glenn Jones in :issue:`15916`).
|
(contributed by Glenn Jones in :issue:`15916`).
|
||||||
|
|
||||||
|
* :func:`importlib.abc.InspectLoader.source_to_code` is now a
|
||||||
|
static method to make it easier to work with source code in a string.
|
||||||
|
With a module object that you want to initialize you can then use
|
||||||
|
``exec(code, module.__dict__)`` to execute the code in the module.
|
||||||
|
|
||||||
|
|
||||||
Optimizations
|
Optimizations
|
||||||
=============
|
=============
|
||||||
|
|
|
@ -217,7 +217,8 @@ class InspectLoader(Loader):
|
||||||
"""
|
"""
|
||||||
raise ImportError
|
raise ImportError
|
||||||
|
|
||||||
def source_to_code(self, data, path='<string>'):
|
@staticmethod
|
||||||
|
def source_to_code(data, path='<string>'):
|
||||||
"""Compile 'data' into a code object.
|
"""Compile 'data' into a code object.
|
||||||
|
|
||||||
The 'data' argument can be anything that compile() can handle. The'path'
|
The 'data' argument can be anything that compile() can handle. The'path'
|
||||||
|
|
|
@ -73,6 +73,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #21156: importlib.abc.InspectLoader.source_to_code() is now a
|
||||||
|
staticmethod.
|
||||||
|
|
||||||
- Issue #21396: Fix TextIOWrapper(..., write_through=True) to not force a
|
- Issue #21396: Fix TextIOWrapper(..., write_through=True) to not force a
|
||||||
flush() on the underlying binary stream. Patch by akira.
|
flush() on the underlying binary stream. Patch by akira.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue