bpo-39573: Use Py_TYPE() macro in Objects directory (GH-18392)
Replace direct access to PyObject.ob_type with Py_TYPE().
diff --git a/Objects/classobject.c b/Objects/classobject.c
index db53f04..fb89b8a 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -178,7 +178,7 @@
method_getattro(PyObject *obj, PyObject *name)
{
PyMethodObject *im = (PyMethodObject *)obj;
- PyTypeObject *tp = obj->ob_type;
+ PyTypeObject *tp = Py_TYPE(obj);
PyObject *descr = NULL;
{
@@ -190,9 +190,9 @@
}
if (descr != NULL) {
- descrgetfunc f = TP_DESCR_GET(descr->ob_type);
+ descrgetfunc f = TP_DESCR_GET(Py_TYPE(descr));
if (f != NULL)
- return f(descr, obj, (PyObject *)obj->ob_type);
+ return f(descr, obj, (PyObject *)Py_TYPE(obj));
else {
Py_INCREF(descr);
return descr;
@@ -425,7 +425,7 @@
static PyObject *
instancemethod_getattro(PyObject *self, PyObject *name)
{
- PyTypeObject *tp = self->ob_type;
+ PyTypeObject *tp = Py_TYPE(self);
PyObject *descr = NULL;
if (tp->tp_dict == NULL) {
@@ -435,9 +435,9 @@
descr = _PyType_Lookup(tp, name);
if (descr != NULL) {
- descrgetfunc f = TP_DESCR_GET(descr->ob_type);
+ descrgetfunc f = TP_DESCR_GET(Py_TYPE(descr));
if (f != NULL)
- return f(descr, self, (PyObject *)self->ob_type);
+ return f(descr, self, (PyObject *)Py_TYPE(self));
else {
Py_INCREF(descr);
return descr;