mirror of
https://github.com/python/cpython.git
synced 2025-10-09 08:31:26 +00:00
bpo-39487: Merge duplicated _Py_IDENTIFIER identifiers in C code (GH-18254)
Moving repetitive `_Py_IDENTIFIER` instances to a global location helps identify them more easily in regards to sub-interpreter support.
This commit is contained in:
parent
c232c9110c
commit
46874c26ee
12 changed files with 24 additions and 34 deletions
|
@ -7,6 +7,10 @@
|
|||
|
||||
static Py_ssize_t max_module_number;
|
||||
|
||||
_Py_IDENTIFIER(__doc__);
|
||||
_Py_IDENTIFIER(__name__);
|
||||
_Py_IDENTIFIER(__spec__);
|
||||
|
||||
typedef struct {
|
||||
PyObject_HEAD
|
||||
PyObject *md_dict;
|
||||
|
@ -58,11 +62,8 @@ static int
|
|||
module_init_dict(PyModuleObject *mod, PyObject *md_dict,
|
||||
PyObject *name, PyObject *doc)
|
||||
{
|
||||
_Py_IDENTIFIER(__name__);
|
||||
_Py_IDENTIFIER(__doc__);
|
||||
_Py_IDENTIFIER(__package__);
|
||||
_Py_IDENTIFIER(__loader__);
|
||||
_Py_IDENTIFIER(__spec__);
|
||||
|
||||
if (md_dict == NULL)
|
||||
return -1;
|
||||
|
@ -461,7 +462,6 @@ int
|
|||
PyModule_SetDocString(PyObject *m, const char *doc)
|
||||
{
|
||||
PyObject *v;
|
||||
_Py_IDENTIFIER(__doc__);
|
||||
|
||||
v = PyUnicode_FromString(doc);
|
||||
if (v == NULL || _PyObject_SetAttrId(m, &PyId___doc__, v) != 0) {
|
||||
|
@ -488,7 +488,6 @@ PyModule_GetDict(PyObject *m)
|
|||
PyObject*
|
||||
PyModule_GetNameObject(PyObject *m)
|
||||
{
|
||||
_Py_IDENTIFIER(__name__);
|
||||
PyObject *d;
|
||||
PyObject *name;
|
||||
if (!PyModule_Check(m)) {
|
||||
|
@ -741,10 +740,8 @@ module_getattro(PyModuleObject *m, PyObject *name)
|
|||
if (getattr) {
|
||||
return _PyObject_CallOneArg(getattr, name);
|
||||
}
|
||||
_Py_IDENTIFIER(__name__);
|
||||
mod_name = _PyDict_GetItemId(m->md_dict, &PyId___name__);
|
||||
if (mod_name && PyUnicode_Check(mod_name)) {
|
||||
_Py_IDENTIFIER(__spec__);
|
||||
Py_INCREF(mod_name);
|
||||
PyObject *spec = _PyDict_GetItemId(m->md_dict, &PyId___spec__);
|
||||
Py_XINCREF(spec);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue