17db96d56Sopenharmony_ci/*[clinic input]
27db96d56Sopenharmony_cipreserve
37db96d56Sopenharmony_ci[clinic start generated code]*/
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ciPyDoc_STRVAR(_abc__reset_registry__doc__,
67db96d56Sopenharmony_ci"_reset_registry($module, self, /)\n"
77db96d56Sopenharmony_ci"--\n"
87db96d56Sopenharmony_ci"\n"
97db96d56Sopenharmony_ci"Internal ABC helper to reset registry of a given class.\n"
107db96d56Sopenharmony_ci"\n"
117db96d56Sopenharmony_ci"Should be only used by refleak.py");
127db96d56Sopenharmony_ci
137db96d56Sopenharmony_ci#define _ABC__RESET_REGISTRY_METHODDEF    \
147db96d56Sopenharmony_ci    {"_reset_registry", (PyCFunction)_abc__reset_registry, METH_O, _abc__reset_registry__doc__},
157db96d56Sopenharmony_ci
167db96d56Sopenharmony_ciPyDoc_STRVAR(_abc__reset_caches__doc__,
177db96d56Sopenharmony_ci"_reset_caches($module, self, /)\n"
187db96d56Sopenharmony_ci"--\n"
197db96d56Sopenharmony_ci"\n"
207db96d56Sopenharmony_ci"Internal ABC helper to reset both caches of a given class.\n"
217db96d56Sopenharmony_ci"\n"
227db96d56Sopenharmony_ci"Should be only used by refleak.py");
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ci#define _ABC__RESET_CACHES_METHODDEF    \
257db96d56Sopenharmony_ci    {"_reset_caches", (PyCFunction)_abc__reset_caches, METH_O, _abc__reset_caches__doc__},
267db96d56Sopenharmony_ci
277db96d56Sopenharmony_ciPyDoc_STRVAR(_abc__get_dump__doc__,
287db96d56Sopenharmony_ci"_get_dump($module, self, /)\n"
297db96d56Sopenharmony_ci"--\n"
307db96d56Sopenharmony_ci"\n"
317db96d56Sopenharmony_ci"Internal ABC helper for cache and registry debugging.\n"
327db96d56Sopenharmony_ci"\n"
337db96d56Sopenharmony_ci"Return shallow copies of registry, of both caches, and\n"
347db96d56Sopenharmony_ci"negative cache version. Don\'t call this function directly,\n"
357db96d56Sopenharmony_ci"instead use ABC._dump_registry() for a nice repr.");
367db96d56Sopenharmony_ci
377db96d56Sopenharmony_ci#define _ABC__GET_DUMP_METHODDEF    \
387db96d56Sopenharmony_ci    {"_get_dump", (PyCFunction)_abc__get_dump, METH_O, _abc__get_dump__doc__},
397db96d56Sopenharmony_ci
407db96d56Sopenharmony_ciPyDoc_STRVAR(_abc__abc_init__doc__,
417db96d56Sopenharmony_ci"_abc_init($module, self, /)\n"
427db96d56Sopenharmony_ci"--\n"
437db96d56Sopenharmony_ci"\n"
447db96d56Sopenharmony_ci"Internal ABC helper for class set-up. Should be never used outside abc module.");
457db96d56Sopenharmony_ci
467db96d56Sopenharmony_ci#define _ABC__ABC_INIT_METHODDEF    \
477db96d56Sopenharmony_ci    {"_abc_init", (PyCFunction)_abc__abc_init, METH_O, _abc__abc_init__doc__},
487db96d56Sopenharmony_ci
497db96d56Sopenharmony_ciPyDoc_STRVAR(_abc__abc_register__doc__,
507db96d56Sopenharmony_ci"_abc_register($module, self, subclass, /)\n"
517db96d56Sopenharmony_ci"--\n"
527db96d56Sopenharmony_ci"\n"
537db96d56Sopenharmony_ci"Internal ABC helper for subclasss registration. Should be never used outside abc module.");
547db96d56Sopenharmony_ci
557db96d56Sopenharmony_ci#define _ABC__ABC_REGISTER_METHODDEF    \
567db96d56Sopenharmony_ci    {"_abc_register", _PyCFunction_CAST(_abc__abc_register), METH_FASTCALL, _abc__abc_register__doc__},
577db96d56Sopenharmony_ci
587db96d56Sopenharmony_cistatic PyObject *
597db96d56Sopenharmony_ci_abc__abc_register_impl(PyObject *module, PyObject *self, PyObject *subclass);
607db96d56Sopenharmony_ci
617db96d56Sopenharmony_cistatic PyObject *
627db96d56Sopenharmony_ci_abc__abc_register(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
637db96d56Sopenharmony_ci{
647db96d56Sopenharmony_ci    PyObject *return_value = NULL;
657db96d56Sopenharmony_ci    PyObject *self;
667db96d56Sopenharmony_ci    PyObject *subclass;
677db96d56Sopenharmony_ci
687db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("_abc_register", nargs, 2, 2)) {
697db96d56Sopenharmony_ci        goto exit;
707db96d56Sopenharmony_ci    }
717db96d56Sopenharmony_ci    self = args[0];
727db96d56Sopenharmony_ci    subclass = args[1];
737db96d56Sopenharmony_ci    return_value = _abc__abc_register_impl(module, self, subclass);
747db96d56Sopenharmony_ci
757db96d56Sopenharmony_ciexit:
767db96d56Sopenharmony_ci    return return_value;
777db96d56Sopenharmony_ci}
787db96d56Sopenharmony_ci
797db96d56Sopenharmony_ciPyDoc_STRVAR(_abc__abc_instancecheck__doc__,
807db96d56Sopenharmony_ci"_abc_instancecheck($module, self, instance, /)\n"
817db96d56Sopenharmony_ci"--\n"
827db96d56Sopenharmony_ci"\n"
837db96d56Sopenharmony_ci"Internal ABC helper for instance checks. Should be never used outside abc module.");
847db96d56Sopenharmony_ci
857db96d56Sopenharmony_ci#define _ABC__ABC_INSTANCECHECK_METHODDEF    \
867db96d56Sopenharmony_ci    {"_abc_instancecheck", _PyCFunction_CAST(_abc__abc_instancecheck), METH_FASTCALL, _abc__abc_instancecheck__doc__},
877db96d56Sopenharmony_ci
887db96d56Sopenharmony_cistatic PyObject *
897db96d56Sopenharmony_ci_abc__abc_instancecheck_impl(PyObject *module, PyObject *self,
907db96d56Sopenharmony_ci                             PyObject *instance);
917db96d56Sopenharmony_ci
927db96d56Sopenharmony_cistatic PyObject *
937db96d56Sopenharmony_ci_abc__abc_instancecheck(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
947db96d56Sopenharmony_ci{
957db96d56Sopenharmony_ci    PyObject *return_value = NULL;
967db96d56Sopenharmony_ci    PyObject *self;
977db96d56Sopenharmony_ci    PyObject *instance;
987db96d56Sopenharmony_ci
997db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("_abc_instancecheck", nargs, 2, 2)) {
1007db96d56Sopenharmony_ci        goto exit;
1017db96d56Sopenharmony_ci    }
1027db96d56Sopenharmony_ci    self = args[0];
1037db96d56Sopenharmony_ci    instance = args[1];
1047db96d56Sopenharmony_ci    return_value = _abc__abc_instancecheck_impl(module, self, instance);
1057db96d56Sopenharmony_ci
1067db96d56Sopenharmony_ciexit:
1077db96d56Sopenharmony_ci    return return_value;
1087db96d56Sopenharmony_ci}
1097db96d56Sopenharmony_ci
1107db96d56Sopenharmony_ciPyDoc_STRVAR(_abc__abc_subclasscheck__doc__,
1117db96d56Sopenharmony_ci"_abc_subclasscheck($module, self, subclass, /)\n"
1127db96d56Sopenharmony_ci"--\n"
1137db96d56Sopenharmony_ci"\n"
1147db96d56Sopenharmony_ci"Internal ABC helper for subclasss checks. Should be never used outside abc module.");
1157db96d56Sopenharmony_ci
1167db96d56Sopenharmony_ci#define _ABC__ABC_SUBCLASSCHECK_METHODDEF    \
1177db96d56Sopenharmony_ci    {"_abc_subclasscheck", _PyCFunction_CAST(_abc__abc_subclasscheck), METH_FASTCALL, _abc__abc_subclasscheck__doc__},
1187db96d56Sopenharmony_ci
1197db96d56Sopenharmony_cistatic PyObject *
1207db96d56Sopenharmony_ci_abc__abc_subclasscheck_impl(PyObject *module, PyObject *self,
1217db96d56Sopenharmony_ci                             PyObject *subclass);
1227db96d56Sopenharmony_ci
1237db96d56Sopenharmony_cistatic PyObject *
1247db96d56Sopenharmony_ci_abc__abc_subclasscheck(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
1257db96d56Sopenharmony_ci{
1267db96d56Sopenharmony_ci    PyObject *return_value = NULL;
1277db96d56Sopenharmony_ci    PyObject *self;
1287db96d56Sopenharmony_ci    PyObject *subclass;
1297db96d56Sopenharmony_ci
1307db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("_abc_subclasscheck", nargs, 2, 2)) {
1317db96d56Sopenharmony_ci        goto exit;
1327db96d56Sopenharmony_ci    }
1337db96d56Sopenharmony_ci    self = args[0];
1347db96d56Sopenharmony_ci    subclass = args[1];
1357db96d56Sopenharmony_ci    return_value = _abc__abc_subclasscheck_impl(module, self, subclass);
1367db96d56Sopenharmony_ci
1377db96d56Sopenharmony_ciexit:
1387db96d56Sopenharmony_ci    return return_value;
1397db96d56Sopenharmony_ci}
1407db96d56Sopenharmony_ci
1417db96d56Sopenharmony_ciPyDoc_STRVAR(_abc_get_cache_token__doc__,
1427db96d56Sopenharmony_ci"get_cache_token($module, /)\n"
1437db96d56Sopenharmony_ci"--\n"
1447db96d56Sopenharmony_ci"\n"
1457db96d56Sopenharmony_ci"Returns the current ABC cache token.\n"
1467db96d56Sopenharmony_ci"\n"
1477db96d56Sopenharmony_ci"The token is an opaque object (supporting equality testing) identifying the\n"
1487db96d56Sopenharmony_ci"current version of the ABC cache for virtual subclasses. The token changes\n"
1497db96d56Sopenharmony_ci"with every call to register() on any ABC.");
1507db96d56Sopenharmony_ci
1517db96d56Sopenharmony_ci#define _ABC_GET_CACHE_TOKEN_METHODDEF    \
1527db96d56Sopenharmony_ci    {"get_cache_token", (PyCFunction)_abc_get_cache_token, METH_NOARGS, _abc_get_cache_token__doc__},
1537db96d56Sopenharmony_ci
1547db96d56Sopenharmony_cistatic PyObject *
1557db96d56Sopenharmony_ci_abc_get_cache_token_impl(PyObject *module);
1567db96d56Sopenharmony_ci
1577db96d56Sopenharmony_cistatic PyObject *
1587db96d56Sopenharmony_ci_abc_get_cache_token(PyObject *module, PyObject *Py_UNUSED(ignored))
1597db96d56Sopenharmony_ci{
1607db96d56Sopenharmony_ci    return _abc_get_cache_token_impl(module);
1617db96d56Sopenharmony_ci}
1627db96d56Sopenharmony_ci/*[clinic end generated code: output=babb3ce445fa9b21 input=a9049054013a1b77]*/
163