17db96d56Sopenharmony_ci/* typing accelerator C extension: _typing module. */ 27db96d56Sopenharmony_ci 37db96d56Sopenharmony_ci#include "Python.h" 47db96d56Sopenharmony_ci#include "clinic/_typingmodule.c.h" 57db96d56Sopenharmony_ci 67db96d56Sopenharmony_ci/*[clinic input] 77db96d56Sopenharmony_cimodule _typing 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ci[clinic start generated code]*/ 107db96d56Sopenharmony_ci/*[clinic end generated code: output=da39a3ee5e6b4b0d input=1db35baf1c72942b]*/ 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ci/* helper function to make typing.NewType.__call__ method faster */ 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ci/*[clinic input] 157db96d56Sopenharmony_ci_typing._idfunc -> object 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_ci x: object 187db96d56Sopenharmony_ci / 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ci[clinic start generated code]*/ 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_cistatic PyObject * 237db96d56Sopenharmony_ci_typing__idfunc(PyObject *module, PyObject *x) 247db96d56Sopenharmony_ci/*[clinic end generated code: output=63c38be4a6ec5f2c input=49f17284b43de451]*/ 257db96d56Sopenharmony_ci{ 267db96d56Sopenharmony_ci Py_INCREF(x); 277db96d56Sopenharmony_ci return x; 287db96d56Sopenharmony_ci} 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ci 317db96d56Sopenharmony_cistatic PyMethodDef typing_methods[] = { 327db96d56Sopenharmony_ci _TYPING__IDFUNC_METHODDEF 337db96d56Sopenharmony_ci {NULL, NULL, 0, NULL} 347db96d56Sopenharmony_ci}; 357db96d56Sopenharmony_ci 367db96d56Sopenharmony_ciPyDoc_STRVAR(typing_doc, 377db96d56Sopenharmony_ci"Accelerators for the typing module.\n"); 387db96d56Sopenharmony_ci 397db96d56Sopenharmony_cistatic struct PyModuleDef_Slot _typingmodule_slots[] = { 407db96d56Sopenharmony_ci {0, NULL} 417db96d56Sopenharmony_ci}; 427db96d56Sopenharmony_ci 437db96d56Sopenharmony_cistatic struct PyModuleDef typingmodule = { 447db96d56Sopenharmony_ci PyModuleDef_HEAD_INIT, 457db96d56Sopenharmony_ci "_typing", 467db96d56Sopenharmony_ci typing_doc, 477db96d56Sopenharmony_ci 0, 487db96d56Sopenharmony_ci typing_methods, 497db96d56Sopenharmony_ci _typingmodule_slots, 507db96d56Sopenharmony_ci NULL, 517db96d56Sopenharmony_ci NULL, 527db96d56Sopenharmony_ci NULL 537db96d56Sopenharmony_ci}; 547db96d56Sopenharmony_ci 557db96d56Sopenharmony_ciPyMODINIT_FUNC 567db96d56Sopenharmony_ciPyInit__typing(void) 577db96d56Sopenharmony_ci{ 587db96d56Sopenharmony_ci return PyModuleDef_Init(&typingmodule); 597db96d56Sopenharmony_ci} 60