mirror of https://github.com/python/cpython
gh-106084: Remove _PyObject_RealIsInstance() function (#106106)
Remove the following functions from the public C API: * _PyObject_RealIsInstance() * _PyObject_RealIsSubclass() * _Py_add_one_to_index_F() * _Py_add_one_to_index_C() Move _PyObject_RealIsInstance() and _PyObject_RealIsSubclass() to the internal C API (pycore_abstract.h) and no longer export their symbols (in libpython). Make _Py_add_one_to_index_F() and _Py_add_one_to_index_C() functions static: no longer export them.
This commit is contained in:
parent
6200aaf296
commit
e8e59ee474
|
@ -147,18 +147,10 @@ PyAPI_FUNC(Py_ssize_t) PyObject_LengthHint(PyObject *o, Py_ssize_t);
|
||||||
|
|
||||||
/* === Mapping protocol ================================================= */
|
/* === Mapping protocol ================================================= */
|
||||||
|
|
||||||
PyAPI_FUNC(int) _PyObject_RealIsInstance(PyObject *inst, PyObject *cls);
|
// Convert Python int to Py_ssize_t. Do nothing if the argument is None.
|
||||||
|
// Cannot be moved to the internal C API: used by Argument Clinic.
|
||||||
PyAPI_FUNC(int) _PyObject_RealIsSubclass(PyObject *derived, PyObject *cls);
|
|
||||||
|
|
||||||
/* For internal use by buffer API functions */
|
|
||||||
PyAPI_FUNC(void) _Py_add_one_to_index_F(int nd, Py_ssize_t *index,
|
|
||||||
const Py_ssize_t *shape);
|
|
||||||
PyAPI_FUNC(void) _Py_add_one_to_index_C(int nd, Py_ssize_t *index,
|
|
||||||
const Py_ssize_t *shape);
|
|
||||||
|
|
||||||
/* Convert Python int to Py_ssize_t. Do nothing if the argument is None. */
|
|
||||||
PyAPI_FUNC(int) _Py_convert_optional_to_ssize_t(PyObject *, void *);
|
PyAPI_FUNC(int) _Py_convert_optional_to_ssize_t(PyObject *, void *);
|
||||||
|
|
||||||
/* Same as PyNumber_Index but can return an instance of a subclass of int. */
|
// Same as PyNumber_Index but can return an instance of a subclass of int.
|
||||||
|
// Cannot be moved to the internal C API: used by Argument Clinic.
|
||||||
PyAPI_FUNC(PyObject *) _PyNumber_Index(PyObject *o);
|
PyAPI_FUNC(PyObject *) _PyNumber_Index(PyObject *o);
|
||||||
|
|
|
@ -41,6 +41,13 @@ extern int _PyObject_HasLen(PyObject *o);
|
||||||
extern Py_ssize_t _PySequence_IterSearch(PyObject *seq,
|
extern Py_ssize_t _PySequence_IterSearch(PyObject *seq,
|
||||||
PyObject *obj, int operation);
|
PyObject *obj, int operation);
|
||||||
|
|
||||||
|
/* === Mapping protocol ================================================= */
|
||||||
|
|
||||||
|
extern int _PyObject_RealIsInstance(PyObject *inst, PyObject *cls);
|
||||||
|
|
||||||
|
extern int _PyObject_RealIsSubclass(PyObject *derived, PyObject *cls);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -517,7 +517,7 @@ PyBuffer_GetPointer(const Py_buffer *view, const Py_ssize_t *indices)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
static void
|
||||||
_Py_add_one_to_index_F(int nd, Py_ssize_t *index, const Py_ssize_t *shape)
|
_Py_add_one_to_index_F(int nd, Py_ssize_t *index, const Py_ssize_t *shape)
|
||||||
{
|
{
|
||||||
int k;
|
int k;
|
||||||
|
@ -533,7 +533,7 @@ _Py_add_one_to_index_F(int nd, Py_ssize_t *index, const Py_ssize_t *shape)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
_Py_add_one_to_index_C(int nd, Py_ssize_t *index, const Py_ssize_t *shape)
|
_Py_add_one_to_index_C(int nd, Py_ssize_t *index, const Py_ssize_t *shape)
|
||||||
{
|
{
|
||||||
int k;
|
int k;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
/* Descriptors -- a new, flexible way to describe attributes */
|
/* Descriptors -- a new, flexible way to describe attributes */
|
||||||
|
|
||||||
#include "Python.h"
|
#include "Python.h"
|
||||||
|
#include "pycore_abstract.h" // _PyObject_RealIsSubclass()
|
||||||
#include "pycore_ceval.h" // _Py_EnterRecursiveCallTstate()
|
#include "pycore_ceval.h" // _Py_EnterRecursiveCallTstate()
|
||||||
#include "pycore_object.h" // _PyObject_GC_UNTRACK()
|
#include "pycore_object.h" // _PyObject_GC_UNTRACK()
|
||||||
#include "pycore_pystate.h" // _PyThreadState_GET()
|
#include "pycore_pystate.h" // _PyThreadState_GET()
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#define PY_SSIZE_T_CLEAN
|
#define PY_SSIZE_T_CLEAN
|
||||||
#include <Python.h>
|
#include <Python.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
#include "pycore_abstract.h" // _PyObject_RealIsSubclass()
|
||||||
#include "pycore_ceval.h" // _Py_EnterRecursiveCall
|
#include "pycore_ceval.h" // _Py_EnterRecursiveCall
|
||||||
#include "pycore_pyerrors.h" // struct _PyErr_SetRaisedException
|
#include "pycore_pyerrors.h" // struct _PyErr_SetRaisedException
|
||||||
#include "pycore_exceptions.h" // struct _Py_exc_state
|
#include "pycore_exceptions.h" // struct _Py_exc_state
|
||||||
|
|
Loading…
Reference in New Issue