17db96d56Sopenharmony_ci/*[clinic input]
27db96d56Sopenharmony_cipreserve
37db96d56Sopenharmony_ci[clinic start generated code]*/
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ciPyDoc_STRVAR(method___reduce____doc__,
67db96d56Sopenharmony_ci"__reduce__($self, /)\n"
77db96d56Sopenharmony_ci"--\n"
87db96d56Sopenharmony_ci"\n");
97db96d56Sopenharmony_ci
107db96d56Sopenharmony_ci#define METHOD___REDUCE___METHODDEF    \
117db96d56Sopenharmony_ci    {"__reduce__", (PyCFunction)method___reduce__, METH_NOARGS, method___reduce____doc__},
127db96d56Sopenharmony_ci
137db96d56Sopenharmony_cistatic PyObject *
147db96d56Sopenharmony_cimethod___reduce___impl(PyMethodObject *self);
157db96d56Sopenharmony_ci
167db96d56Sopenharmony_cistatic PyObject *
177db96d56Sopenharmony_cimethod___reduce__(PyMethodObject *self, PyObject *Py_UNUSED(ignored))
187db96d56Sopenharmony_ci{
197db96d56Sopenharmony_ci    return method___reduce___impl(self);
207db96d56Sopenharmony_ci}
217db96d56Sopenharmony_ci
227db96d56Sopenharmony_ciPyDoc_STRVAR(method_new__doc__,
237db96d56Sopenharmony_ci"method(function, instance, /)\n"
247db96d56Sopenharmony_ci"--\n"
257db96d56Sopenharmony_ci"\n"
267db96d56Sopenharmony_ci"Create a bound instance method object.");
277db96d56Sopenharmony_ci
287db96d56Sopenharmony_cistatic PyObject *
297db96d56Sopenharmony_cimethod_new_impl(PyTypeObject *type, PyObject *function, PyObject *instance);
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_cistatic PyObject *
327db96d56Sopenharmony_cimethod_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
337db96d56Sopenharmony_ci{
347db96d56Sopenharmony_ci    PyObject *return_value = NULL;
357db96d56Sopenharmony_ci    PyObject *function;
367db96d56Sopenharmony_ci    PyObject *instance;
377db96d56Sopenharmony_ci
387db96d56Sopenharmony_ci    if ((type == &PyMethod_Type ||
397db96d56Sopenharmony_ci         type->tp_init == PyMethod_Type.tp_init) &&
407db96d56Sopenharmony_ci        !_PyArg_NoKeywords("method", kwargs)) {
417db96d56Sopenharmony_ci        goto exit;
427db96d56Sopenharmony_ci    }
437db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("method", PyTuple_GET_SIZE(args), 2, 2)) {
447db96d56Sopenharmony_ci        goto exit;
457db96d56Sopenharmony_ci    }
467db96d56Sopenharmony_ci    function = PyTuple_GET_ITEM(args, 0);
477db96d56Sopenharmony_ci    instance = PyTuple_GET_ITEM(args, 1);
487db96d56Sopenharmony_ci    return_value = method_new_impl(type, function, instance);
497db96d56Sopenharmony_ci
507db96d56Sopenharmony_ciexit:
517db96d56Sopenharmony_ci    return return_value;
527db96d56Sopenharmony_ci}
537db96d56Sopenharmony_ci
547db96d56Sopenharmony_ciPyDoc_STRVAR(instancemethod_new__doc__,
557db96d56Sopenharmony_ci"instancemethod(function, /)\n"
567db96d56Sopenharmony_ci"--\n"
577db96d56Sopenharmony_ci"\n"
587db96d56Sopenharmony_ci"Bind a function to a class.");
597db96d56Sopenharmony_ci
607db96d56Sopenharmony_cistatic PyObject *
617db96d56Sopenharmony_ciinstancemethod_new_impl(PyTypeObject *type, PyObject *function);
627db96d56Sopenharmony_ci
637db96d56Sopenharmony_cistatic PyObject *
647db96d56Sopenharmony_ciinstancemethod_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
657db96d56Sopenharmony_ci{
667db96d56Sopenharmony_ci    PyObject *return_value = NULL;
677db96d56Sopenharmony_ci    PyObject *function;
687db96d56Sopenharmony_ci
697db96d56Sopenharmony_ci    if ((type == &PyInstanceMethod_Type ||
707db96d56Sopenharmony_ci         type->tp_init == PyInstanceMethod_Type.tp_init) &&
717db96d56Sopenharmony_ci        !_PyArg_NoKeywords("instancemethod", kwargs)) {
727db96d56Sopenharmony_ci        goto exit;
737db96d56Sopenharmony_ci    }
747db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("instancemethod", PyTuple_GET_SIZE(args), 1, 1)) {
757db96d56Sopenharmony_ci        goto exit;
767db96d56Sopenharmony_ci    }
777db96d56Sopenharmony_ci    function = PyTuple_GET_ITEM(args, 0);
787db96d56Sopenharmony_ci    return_value = instancemethod_new_impl(type, function);
797db96d56Sopenharmony_ci
807db96d56Sopenharmony_ciexit:
817db96d56Sopenharmony_ci    return return_value;
827db96d56Sopenharmony_ci}
837db96d56Sopenharmony_ci/*[clinic end generated code: output=a230fe125f664416 input=a9049054013a1b77]*/
84