mirror of
https://github.com/python/cpython.git
synced 2025-10-13 10:23:28 +00:00
gh-112529: Simplify PyObject_GC_IsTracked and PyObject_GC_IsFinalized (#114732)
This commit is contained in:
parent
c43b26d02e
commit
df5212df6c
3 changed files with 51 additions and 28 deletions
|
@ -383,7 +383,7 @@ error:
|
|||
|
||||
|
||||
/*[clinic input]
|
||||
gc.is_tracked
|
||||
gc.is_tracked -> bool
|
||||
|
||||
obj: object
|
||||
/
|
||||
|
@ -393,21 +393,15 @@ Returns true if the object is tracked by the garbage collector.
|
|||
Simple atomic objects will return false.
|
||||
[clinic start generated code]*/
|
||||
|
||||
static PyObject *
|
||||
gc_is_tracked(PyObject *module, PyObject *obj)
|
||||
/*[clinic end generated code: output=14f0103423b28e31 input=d83057f170ea2723]*/
|
||||
static int
|
||||
gc_is_tracked_impl(PyObject *module, PyObject *obj)
|
||||
/*[clinic end generated code: output=91c8d086b7f47a33 input=423b98ec680c3126]*/
|
||||
{
|
||||
PyObject *result;
|
||||
|
||||
if (_PyObject_IS_GC(obj) && _PyObject_GC_IS_TRACKED(obj))
|
||||
result = Py_True;
|
||||
else
|
||||
result = Py_False;
|
||||
return Py_NewRef(result);
|
||||
return PyObject_GC_IsTracked(obj);
|
||||
}
|
||||
|
||||
/*[clinic input]
|
||||
gc.is_finalized
|
||||
gc.is_finalized -> bool
|
||||
|
||||
obj: object
|
||||
/
|
||||
|
@ -415,14 +409,11 @@ gc.is_finalized
|
|||
Returns true if the object has been already finalized by the GC.
|
||||
[clinic start generated code]*/
|
||||
|
||||
static PyObject *
|
||||
gc_is_finalized(PyObject *module, PyObject *obj)
|
||||
/*[clinic end generated code: output=e1516ac119a918ed input=201d0c58f69ae390]*/
|
||||
static int
|
||||
gc_is_finalized_impl(PyObject *module, PyObject *obj)
|
||||
/*[clinic end generated code: output=401ff5d6fc660429 input=ca4d111c8f8c4e3a]*/
|
||||
{
|
||||
if (_PyObject_IS_GC(obj) && _PyGC_FINALIZED(obj)) {
|
||||
Py_RETURN_TRUE;
|
||||
}
|
||||
Py_RETURN_FALSE;
|
||||
return PyObject_GC_IsFinalized(obj);
|
||||
}
|
||||
|
||||
/*[clinic input]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue