| 22031 | /* PyCFunctionFastCall */ |
| 22032 | #if CYTHON_FAST_PYCCALL |
| 22033 | static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { |
| 22034 | PyCFunctionObject *func = (PyCFunctionObject*)func_obj; |
| 22035 | PyCFunction meth = PyCFunction_GET_FUNCTION(func); |
| 22036 | PyObject *self = PyCFunction_GET_SELF(func); |
| 22037 | int flags = PyCFunction_GET_FLAGS(func); |
| 22038 | assert(PyCFunction_Check(func)); |
| 22039 | assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); |
| 22040 | assert(nargs >= 0); |
| 22041 | assert(nargs == 0 || args != NULL); |
| 22042 | /* _PyCFunction_FastCallDict() must not be called with an exception set, |
| 22043 | because it may clear it (directly or indirectly) and so the |
| 22044 | caller loses its exception */ |
| 22045 | assert(!PyErr_Occurred()); |
| 22046 | if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { |
| 22047 | return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); |
| 22048 | } else { |
| 22049 | return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); |
| 22050 | } |
| 22051 | } |
| 22052 | #endif |
| 22053 | |
| 22054 | /* WriteUnraisableException */ |
no outgoing calls
no test coverage detected