gh-135755: Docs: C API: Document missing PyFunction_GET* macros (GH-135762)

Co-authored-by: Brian Schubert <brianm.schubert@gmail.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
This commit is contained in:
Peter Bierma 2025-06-25 04:44:55 -04:00 committed by GitHub
parent 113de8545f
commit ca87a47b3d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 44 additions and 0 deletions

View file

@ -95,6 +95,13 @@ There are a few functions specific to Python functions.
.. versionadded:: 3.12 .. versionadded:: 3.12
.. c:function:: PyObject* PyFunction_GetKwDefaults(PyObject *op)
Return the keyword-only argument default values of the function object *op*. This can be a
dictionary of arguments or ``NULL``.
.. c:function:: PyObject* PyFunction_GetClosure(PyObject *op) .. c:function:: PyObject* PyFunction_GetClosure(PyObject *op)
Return the closure associated with the function object *op*. This can be ``NULL`` Return the closure associated with the function object *op*. This can be ``NULL``
@ -123,6 +130,19 @@ There are a few functions specific to Python functions.
Raises :exc:`SystemError` and returns ``-1`` on failure. Raises :exc:`SystemError` and returns ``-1`` on failure.
.. c:function:: PyObject *PyFunction_GET_CODE(PyObject *op)
PyObject *PyFunction_GET_GLOBALS(PyObject *op)
PyObject *PyFunction_GET_MODULE(PyObject *op)
PyObject *PyFunction_GET_DEFAULTS(PyObject *op)
PyObject *PyFunction_GET_KW_DEFAULTS(PyObject *op)
PyObject *PyFunction_GET_CLOSURE(PyObject *op)
PyObject *PyFunction_GET_ANNOTATIONS(PyObject *op)
These functions are similar to their ``PyFunction_Get*`` counterparts, but
do not do type checking. Passing anything other than an instance of
:c:data:`PyFunction_Type` is undefined behavior.
.. c:function:: int PyFunction_AddWatcher(PyFunction_WatchCallback callback) .. c:function:: int PyFunction_AddWatcher(PyFunction_WatchCallback callback)
Register *callback* as a function watcher for the current interpreter. Register *callback* as a function watcher for the current interpreter.

View file

@ -963,21 +963,45 @@ PyFunction_Check:PyObject*:o:0:
PyFunction_GetAnnotations:PyObject*::0: PyFunction_GetAnnotations:PyObject*::0:
PyFunction_GetAnnotations:PyObject*:op:0: PyFunction_GetAnnotations:PyObject*:op:0:
PyFunction_GET_ANNOTATIONS:PyObject*::0:
PyFunction_GET_ANNOTATIONS:PyObject*:op:0:
PyFunction_GetClosure:PyObject*::0: PyFunction_GetClosure:PyObject*::0:
PyFunction_GetClosure:PyObject*:op:0: PyFunction_GetClosure:PyObject*:op:0:
PyFunction_GET_CLOSURE:PyObject*::0:
PyFunction_GET_CLOSURE:PyObject*:op:0:
PyFunction_GetCode:PyObject*::0: PyFunction_GetCode:PyObject*::0:
PyFunction_GetCode:PyObject*:op:0: PyFunction_GetCode:PyObject*:op:0:
PyFunction_GET_CODE:PyObject*::0:
PyFunction_GET_CODE:PyObject*:op:0:
PyFunction_GetDefaults:PyObject*::0: PyFunction_GetDefaults:PyObject*::0:
PyFunction_GetDefaults:PyObject*:op:0: PyFunction_GetDefaults:PyObject*:op:0:
PyFunction_GET_DEFAULTS:PyObject*::0:
PyFunction_GET_DEFAULTS:PyObject*:op:0:
PyFunction_GetKwDefaults:PyObject*::0:
PyFunction_GetKwDefaults:PyObject*:op:0:
PyFunction_GET_KW_DEFAULTS:PyObject*::0:
PyFunction_GET_KW_DEFAULTS:PyObject*:op:0:
PyFunction_GetGlobals:PyObject*::0: PyFunction_GetGlobals:PyObject*::0:
PyFunction_GetGlobals:PyObject*:op:0: PyFunction_GetGlobals:PyObject*:op:0:
PyFunction_GET_GLOBALS:PyObject*::0:
PyFunction_GET_GLOBALS:PyObject*:op:0:
PyFunction_GetModule:PyObject*::0: PyFunction_GetModule:PyObject*::0:
PyFunction_GetModule:PyObject*:op:0: PyFunction_GetModule:PyObject*:op:0:
PyFunction_GET_MODULE:PyObject*::0:
PyFunction_GET_MODULE:PyObject*:op:0:
PyFunction_New:PyObject*::+1: PyFunction_New:PyObject*::+1:
PyFunction_New:PyObject*:code:+1: PyFunction_New:PyObject*:code:+1:
PyFunction_New:PyObject*:globals:+1: PyFunction_New:PyObject*:globals:+1: