Skip to content

Commit 027ce16

Browse files
committed
sprinkle some _PyId goodness around moduleobject.c
1 parent 1184e26 commit 027ce16

1 file changed

Lines changed: 19 additions & 9 deletions

File tree

Objects/moduleobject.c

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,26 @@ static int
3232
module_init_dict(PyModuleObject *mod, PyObject *md_dict,
3333
PyObject *name, PyObject *doc)
3434
{
35+
_Py_IDENTIFIER(__name__);
36+
_Py_IDENTIFIER(__doc__);
37+
_Py_IDENTIFIER(__package__);
38+
_Py_IDENTIFIER(__loader__);
39+
_Py_IDENTIFIER(__spec__);
40+
3541
if (md_dict == NULL)
3642
return -1;
3743
if (doc == NULL)
3844
doc = Py_None;
3945

40-
if (PyDict_SetItemString(md_dict, "__name__", name) != 0)
46+
if (_PyDict_SetItemId(md_dict, &PyId___name__, name) != 0)
4147
return -1;
42-
if (PyDict_SetItemString(md_dict, "__doc__", doc) != 0)
48+
if (_PyDict_SetItemId(md_dict, &PyId___doc__, doc) != 0)
4349
return -1;
44-
if (PyDict_SetItemString(md_dict, "__package__", Py_None) != 0)
50+
if (_PyDict_SetItemId(md_dict, &PyId___package__, Py_None) != 0)
4551
return -1;
46-
if (PyDict_SetItemString(md_dict, "__loader__", Py_None) != 0)
52+
if (_PyDict_SetItemId(md_dict, &PyId___loader__, Py_None) != 0)
4753
return -1;
48-
if (PyDict_SetItemString(md_dict, "__spec__", Py_None) != 0)
54+
if (_PyDict_SetItemId(md_dict, &PyId___spec__, Py_None) != 0)
4955
return -1;
5056
if (PyUnicode_CheckExact(name)) {
5157
Py_INCREF(name);
@@ -184,8 +190,9 @@ PyModule_Create2(struct PyModuleDef* module, int module_api_version)
184190
Py_DECREF(n);
185191
}
186192
if (module->m_doc != NULL) {
193+
_Py_IDENTIFIER(__doc__);
187194
v = PyUnicode_FromString(module->m_doc);
188-
if (v == NULL || PyDict_SetItemString(d, "__doc__", v) != 0) {
195+
if (v == NULL || _PyDict_SetItemId(d, &PyId___doc__, v) != 0) {
189196
Py_XDECREF(v);
190197
Py_DECREF(m);
191198
return NULL;
@@ -214,6 +221,7 @@ PyModule_GetDict(PyObject *m)
214221
PyObject*
215222
PyModule_GetNameObject(PyObject *m)
216223
{
224+
_Py_IDENTIFIER(__name__);
217225
PyObject *d;
218226
PyObject *name;
219227
if (!PyModule_Check(m)) {
@@ -222,7 +230,7 @@ PyModule_GetNameObject(PyObject *m)
222230
}
223231
d = ((PyModuleObject *)m)->md_dict;
224232
if (d == NULL ||
225-
(name = PyDict_GetItemString(d, "__name__")) == NULL ||
233+
(name = _PyDict_GetItemId(d, &PyId___name__)) == NULL ||
226234
!PyUnicode_Check(name))
227235
{
228236
PyErr_SetString(PyExc_SystemError, "nameless module");
@@ -245,6 +253,7 @@ PyModule_GetName(PyObject *m)
245253
PyObject*
246254
PyModule_GetFilenameObject(PyObject *m)
247255
{
256+
_Py_IDENTIFIER(__file__);
248257
PyObject *d;
249258
PyObject *fileobj;
250259
if (!PyModule_Check(m)) {
@@ -253,7 +262,7 @@ PyModule_GetFilenameObject(PyObject *m)
253262
}
254263
d = ((PyModuleObject *)m)->md_dict;
255264
if (d == NULL ||
256-
(fileobj = PyDict_GetItemString(d, "__file__")) == NULL ||
265+
(fileobj = _PyDict_GetItemId(d, &PyId___file__)) == NULL ||
257266
!PyUnicode_Check(fileobj))
258267
{
259268
PyErr_SetString(PyExc_SystemError, "module filename missing");
@@ -420,7 +429,8 @@ module_getattro(PyModuleObject *m, PyObject *name)
420429
return attr;
421430
PyErr_Clear();
422431
if (m->md_dict) {
423-
mod_name = PyDict_GetItemString(m->md_dict, "__name__");
432+
_Py_IDENTIFIER(__name__);
433+
mod_name = _PyDict_GetItemId(m->md_dict, &PyId___name__);
424434
if (mod_name) {
425435
PyErr_Format(PyExc_AttributeError,
426436
"module '%U' has no attribute '%U'", mod_name, name);

0 commit comments

Comments
 (0)