mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
Issue #2377: Make importlib the implementation of __import__().
importlib._bootstrap is now frozen into Python/importlib.h and stored as _frozen_importlib in sys.modules. Py_Initialize() loads the frozen code along with sys and imp and then uses _frozen_importlib._install() to set builtins.__import__() w/ _frozen_importlib.__import__().
This commit is contained in:
parent
d2cbd90539
commit
fd0741555b
38 changed files with 3635 additions and 637 deletions
|
@ -2376,6 +2376,35 @@ PyObject_CallMethodObjArgs(PyObject *callable, PyObject *name, ...)
|
|||
return tmp;
|
||||
}
|
||||
|
||||
PyObject *
|
||||
_PyObject_CallMethodObjIdArgs(PyObject *callable,
|
||||
struct _Py_Identifier *name, ...)
|
||||
{
|
||||
PyObject *args, *tmp;
|
||||
va_list vargs;
|
||||
|
||||
if (callable == NULL || name == NULL)
|
||||
return null_error();
|
||||
|
||||
callable = _PyObject_GetAttrId(callable, name);
|
||||
if (callable == NULL)
|
||||
return NULL;
|
||||
|
||||
/* count the args */
|
||||
va_start(vargs, name);
|
||||
args = objargs_mktuple(vargs);
|
||||
va_end(vargs);
|
||||
if (args == NULL) {
|
||||
Py_DECREF(callable);
|
||||
return NULL;
|
||||
}
|
||||
tmp = PyObject_Call(callable, args, NULL);
|
||||
Py_DECREF(args);
|
||||
Py_DECREF(callable);
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
PyObject *
|
||||
PyObject_CallFunctionObjArgs(PyObject *callable, ...)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue