bpo-46417: Use _PyType_CAST() in Objects directory (GH-30764)

This commit is contained in:
Victor Stinner 2022-01-21 23:33:43 +01:00 committed by GitHub
parent 7835cbf949
commit ac1f152421
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 13 additions and 20 deletions

View File

@ -846,7 +846,7 @@ complex_from_string_inner(const char *s, Py_ssize_t len, void *type)
if (s-start != len) if (s-start != len)
goto parse_error; goto parse_error;
return complex_subtype_from_doubles((PyTypeObject *)type, x, y); return complex_subtype_from_doubles(_PyType_CAST(type), x, y);
parse_error: parse_error:
PyErr_SetString(PyExc_ValueError, PyErr_SetString(PyExc_ValueError,

View File

@ -3450,13 +3450,12 @@ static PyObject *
dict_vectorcall(PyObject *type, PyObject * const*args, dict_vectorcall(PyObject *type, PyObject * const*args,
size_t nargsf, PyObject *kwnames) size_t nargsf, PyObject *kwnames)
{ {
assert(PyType_Check(type));
Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
if (!_PyArg_CheckPositional("dict", nargs, 0, 1)) { if (!_PyArg_CheckPositional("dict", nargs, 0, 1)) {
return NULL; return NULL;
} }
PyObject *self = dict_new((PyTypeObject *)type, NULL, NULL); PyObject *self = dict_new(_PyType_CAST(type), NULL, NULL);
if (self == NULL) { if (self == NULL) {
return NULL; return NULL;
} }

View File

@ -88,8 +88,7 @@ static PyObject *
enumerate_vectorcall(PyObject *type, PyObject *const *args, enumerate_vectorcall(PyObject *type, PyObject *const *args,
size_t nargsf, PyObject *kwnames) size_t nargsf, PyObject *kwnames)
{ {
assert(PyType_Check(type)); PyTypeObject *tp = _PyType_CAST(type);
PyTypeObject *tp = (PyTypeObject *)type;
Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
Py_ssize_t nkwargs = 0; Py_ssize_t nkwargs = 0;
if (nargs == 0) { if (nargs == 0) {
@ -373,8 +372,6 @@ static PyObject *
reversed_vectorcall(PyObject *type, PyObject * const*args, reversed_vectorcall(PyObject *type, PyObject * const*args,
size_t nargsf, PyObject *kwnames) size_t nargsf, PyObject *kwnames)
{ {
assert(PyType_Check(type));
if (!_PyArg_NoKwnames("reversed", kwnames)) { if (!_PyArg_NoKwnames("reversed", kwnames)) {
return NULL; return NULL;
} }
@ -384,7 +381,7 @@ reversed_vectorcall(PyObject *type, PyObject * const*args,
return NULL; return NULL;
} }
return reversed_new_impl((PyTypeObject *)type, args[0]); return reversed_new_impl(_PyType_CAST(type), args[0]);
} }
static void static void

View File

@ -1775,8 +1775,7 @@ OSError_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
PyObject *newtype; PyObject *newtype;
newtype = PyDict_GetItemWithError(state->errnomap, myerrno); newtype = PyDict_GetItemWithError(state->errnomap, myerrno);
if (newtype) { if (newtype) {
assert(PyType_Check(newtype)); type = _PyType_CAST(newtype);
type = (PyTypeObject *) newtype;
} }
else if (PyErr_Occurred()) else if (PyErr_Occurred())
goto error; goto error;

View File

@ -1686,7 +1686,7 @@ float_vectorcall(PyObject *type, PyObject * const*args,
} }
PyObject *x = nargs >= 1 ? args[0] : NULL; PyObject *x = nargs >= 1 ? args[0] : NULL;
return float_new_impl((PyTypeObject *)type, x); return float_new_impl(_PyType_CAST(type), x);
} }

View File

@ -2858,8 +2858,7 @@ list_vectorcall(PyObject *type, PyObject * const*args,
return NULL; return NULL;
} }
assert(PyType_Check(type)); PyObject *list = PyType_GenericAlloc(_PyType_CAST(type), 0);
PyObject *list = PyType_GenericAlloc((PyTypeObject *)type, 0);
if (list == NULL) { if (list == NULL) {
return NULL; return NULL;
} }

View File

@ -1001,7 +1001,7 @@ make_new_frozenset(PyTypeObject *type, PyObject *iterable)
Py_INCREF(iterable); Py_INCREF(iterable);
return iterable; return iterable;
} }
return make_new_set((PyTypeObject *)type, iterable); return make_new_set(type, iterable);
} }
static PyObject * static PyObject *
@ -1036,7 +1036,7 @@ frozenset_vectorcall(PyObject *type, PyObject * const*args,
} }
PyObject *iterable = (nargs ? args[0] : NULL); PyObject *iterable = (nargs ? args[0] : NULL);
return make_new_frozenset((PyTypeObject *)type, iterable); return make_new_frozenset(_PyType_CAST(type), iterable);
} }
static PyObject * static PyObject *
@ -1974,10 +1974,10 @@ set_vectorcall(PyObject *type, PyObject * const*args,
} }
if (nargs) { if (nargs) {
return make_new_set((PyTypeObject *)type, args[0]); return make_new_set(_PyType_CAST(type), args[0]);
} }
return make_new_set((PyTypeObject *)type, NULL); return make_new_set(_PyType_CAST(type), NULL);
} }
static PySequenceMethods set_as_sequence = { static PySequenceMethods set_as_sequence = {

View File

@ -108,10 +108,9 @@ static void
structseq_dealloc(PyStructSequence *obj) structseq_dealloc(PyStructSequence *obj)
{ {
Py_ssize_t i, size; Py_ssize_t i, size;
PyTypeObject *tp;
PyObject_GC_UnTrack(obj); PyObject_GC_UnTrack(obj);
tp = (PyTypeObject *) Py_TYPE(obj); PyTypeObject *tp = Py_TYPE(obj);
size = REAL_SIZE(obj); size = REAL_SIZE(obj);
for (i = 0; i < size; ++i) { for (i = 0; i < size; ++i) {
Py_XDECREF(obj->ob_item[i]); Py_XDECREF(obj->ob_item[i]);

View File

@ -817,7 +817,7 @@ tuple_vectorcall(PyObject *type, PyObject * const*args,
} }
if (nargs) { if (nargs) {
return tuple_new_impl((PyTypeObject *)type, args[0]); return tuple_new_impl(_PyType_CAST(type), args[0]);
} }
else { else {
return tuple_get_empty(); return tuple_get_empty();