mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
gh-138342: Use a common utility for visiting an object's type (GH-138343)
Add `_PyObject_VisitType` in place of `tp_traverse` functions that only visit the object's type.
This commit is contained in:
parent
0d02e4d7d3
commit
4f6ecd10c2
24 changed files with 41 additions and 203 deletions
|
|
@ -746,13 +746,6 @@ signaldict_setitem(PyObject *self, PyObject *key, PyObject *value)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
signaldict_traverse(PyObject *self, visitproc visit, void *arg)
|
||||
{
|
||||
Py_VISIT(Py_TYPE(self));
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
signaldict_dealloc(PyObject *self)
|
||||
{
|
||||
|
|
@ -845,7 +838,7 @@ static PyMethodDef signaldict_methods[] = {
|
|||
|
||||
static PyType_Slot signaldict_slots[] = {
|
||||
{Py_tp_dealloc, signaldict_dealloc},
|
||||
{Py_tp_traverse, signaldict_traverse},
|
||||
{Py_tp_traverse, _PyObject_VisitType},
|
||||
{Py_tp_repr, signaldict_repr},
|
||||
{Py_tp_hash, PyObject_HashNotImplemented},
|
||||
{Py_tp_getattro, PyObject_GenericGetAttr},
|
||||
|
|
@ -2194,13 +2187,6 @@ PyDecType_New(decimal_state *state, PyTypeObject *type)
|
|||
}
|
||||
#define dec_alloc(st) PyDecType_New(st, (st)->PyDec_Type)
|
||||
|
||||
static int
|
||||
dec_traverse(PyObject *dec, visitproc visit, void *arg)
|
||||
{
|
||||
Py_VISIT(Py_TYPE(dec));
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
dec_dealloc(PyObject *dec)
|
||||
{
|
||||
|
|
@ -6032,7 +6018,7 @@ static PyType_Slot dec_slots[] = {
|
|||
{Py_tp_token, Py_TP_USE_SPEC},
|
||||
{Py_tp_dealloc, dec_dealloc},
|
||||
{Py_tp_getattro, PyObject_GenericGetAttr},
|
||||
{Py_tp_traverse, dec_traverse},
|
||||
{Py_tp_traverse, _PyObject_VisitType},
|
||||
{Py_tp_repr, dec_repr},
|
||||
{Py_tp_hash, dec_hash},
|
||||
{Py_tp_str, dec_str},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue