Commit 2c2f11c0 authored by Victor Stinner's avatar Victor Stinner

Issue #19512: __build_class() builtin now uses an identifier for the "metaclass" string

parent f9499d1d
...@@ -44,6 +44,7 @@ builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds) ...@@ -44,6 +44,7 @@ builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds)
Py_ssize_t nargs; Py_ssize_t nargs;
int isclass; int isclass;
_Py_IDENTIFIER(__prepare__); _Py_IDENTIFIER(__prepare__);
_Py_IDENTIFIER(metaclass);
assert(args != NULL); assert(args != NULL);
if (!PyTuple_Check(args)) { if (!PyTuple_Check(args)) {
...@@ -83,10 +84,10 @@ builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds) ...@@ -83,10 +84,10 @@ builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds)
Py_DECREF(bases); Py_DECREF(bases);
return NULL; return NULL;
} }
meta = PyDict_GetItemString(mkw, "metaclass"); meta = _PyDict_GetItemId(mkw, &PyId_metaclass);
if (meta != NULL) { if (meta != NULL) {
Py_INCREF(meta); Py_INCREF(meta);
if (PyDict_DelItemString(mkw, "metaclass") < 0) { if (_PyDict_DelItemId(mkw, &PyId_metaclass) < 0) {
Py_DECREF(meta); Py_DECREF(meta);
Py_DECREF(mkw); Py_DECREF(mkw);
Py_DECREF(bases); Py_DECREF(bases);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment