Index: third_party/cython/src/Cython/Includes/cpython/function.pxd |
diff --git a/third_party/cython/src/Cython/Includes/cpython/function.pxd b/third_party/cython/src/Cython/Includes/cpython/function.pxd |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e8e4f068cfa68b485dbe4f38adcef5cc84579aa0 |
--- /dev/null |
+++ b/third_party/cython/src/Cython/Includes/cpython/function.pxd |
@@ -0,0 +1,65 @@ |
+from cpython.ref cimport PyObject |
+ |
+cdef extern from "Python.h": |
+ |
+ ############################################################################ |
+ # 7.5.3 Function Objects |
+ ############################################################################ |
+ # There are a few functions specific to Python functions. |
+ |
+ # PyFunctionObject |
+ # |
+ # The C structure used for functions. |
+ |
+ # PyTypeObject PyFunction_Type |
+ # |
+ # This is an instance of PyTypeObject and represents the Python |
+ # function type. It is exposed to Python programmers as |
+ # types.FunctionType. |
+ |
+ bint PyFunction_Check(object o) |
+ # Return true if o is a function object (has type |
+ # PyFunction_Type). The parameter must not be NULL. |
+ |
+ object PyFunction_New(object code, object globals) |
+ # Return value: New reference. |
+ # Return a new function object associated with the code object |
+ # code. globals must be a dictionary with the global variables |
+ # accessible to the function. |
+ # The function's docstring, name and __module__ are retrieved from |
+ # the code object, the argument defaults and closure are set to |
+ # NULL. |
+ |
+ PyObject* PyFunction_GetCode(object op) except? NULL |
+ # Return value: Borrowed reference. |
+ # Return the code object associated with the function object op. |
+ |
+ PyObject* PyFunction_GetGlobals(object op) except? NULL |
+ # Return value: Borrowed reference. |
+ # Return the globals dictionary associated with the function object op. |
+ |
+ PyObject* PyFunction_GetModule(object op) except? NULL |
+ # Return value: Borrowed reference. |
+ # Return the __module__ attribute of the function object op. This |
+ # is normally a string containing the module name, but can be set |
+ # to any other object by Python code. |
+ |
+ PyObject* PyFunction_GetDefaults(object op) except? NULL |
+ # Return value: Borrowed reference. |
+ # Return the argument default values of the function object |
+ # op. This can be a tuple of arguments or NULL. |
+ |
+ int PyFunction_SetDefaults(object op, object defaults) except -1 |
+ # Set the argument default values for the function object |
+ # op. defaults must be Py_None or a tuple. |
+ # Raises SystemError and returns -1 on failure. |
+ |
+ PyObject* PyFunction_GetClosure(object op) except? NULL |
+ # Return value: Borrowed reference. |
+ # Return the closure associated with the function object op. This |
+ # can be NULL or a tuple of cell objects. |
+ |
+ int PyFunction_SetClosure(object op, object closure) except -1 |
+ # Set the closure associated with the function object op. closure |
+ # must be Py_None or a tuple of cell objects. |
+ # Raises SystemError and returns -1 on failure. |