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
|
||||
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.
|
||||
|
||||
|
@ -508,8 +508,14 @@ ABC hierarchy::
|
|||
the "path" to where the source code originated from, which can be an
|
||||
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
|
||||
|
||||
.. versionchanged:: 3.5
|
||||
Made the method static.
|
||||
|
||||
.. method:: exec_module(module)
|
||||
|
||||
Implementation of :meth:`Loader.exec_module`.
|
||||
|
|
|
@ -158,6 +158,11 @@ Improved Modules
|
|||
*module* contains no docstrings instead of raising :exc:`ValueError`
|
||||
(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
|
||||
=============
|
||||
|
|
|
@ -217,7 +217,8 @@ class InspectLoader(Loader):
|
|||
"""
|
||||
raise ImportError
|
||||
|
||||
def source_to_code(self, data, path='<string>'):
|
||||
@staticmethod
|
||||
def source_to_code(data, path='<string>'):
|
||||
"""Compile 'data' into a code object.
|
||||
|
||||
The 'data' argument can be anything that compile() can handle. The'path'
|
||||
|
|
Loading…
Reference in New Issue