Branch data Line data Source code
1 : : /* typing accelerator C extension: _typing module. */ 2 : : 3 : : #include "Python.h" 4 : : #include "clinic/_typingmodule.c.h" 5 : : 6 : : /*[clinic input] 7 : : module _typing 8 : : 9 : : [clinic start generated code]*/ 10 : : /*[clinic end generated code: output=da39a3ee5e6b4b0d input=1db35baf1c72942b]*/ 11 : : 12 : : /* helper function to make typing.NewType.__call__ method faster */ 13 : : 14 : : /*[clinic input] 15 : : _typing._idfunc -> object 16 : : 17 : : x: object 18 : : / 19 : : 20 : : [clinic start generated code]*/ 21 : : 22 : : static PyObject * 23 : 0 : _typing__idfunc(PyObject *module, PyObject *x) 24 : : /*[clinic end generated code: output=63c38be4a6ec5f2c input=49f17284b43de451]*/ 25 : : { 26 : 0 : return Py_NewRef(x); 27 : : } 28 : : 29 : : 30 : : static PyMethodDef typing_methods[] = { 31 : : _TYPING__IDFUNC_METHODDEF 32 : : {NULL, NULL, 0, NULL} 33 : : }; 34 : : 35 : : PyDoc_STRVAR(typing_doc, 36 : : "Accelerators for the typing module.\n"); 37 : : 38 : : static struct PyModuleDef_Slot _typingmodule_slots[] = { 39 : : {0, NULL} 40 : : }; 41 : : 42 : : static struct PyModuleDef typingmodule = { 43 : : PyModuleDef_HEAD_INIT, 44 : : "_typing", 45 : : typing_doc, 46 : : 0, 47 : : typing_methods, 48 : : _typingmodule_slots, 49 : : NULL, 50 : : NULL, 51 : : NULL 52 : : }; 53 : : 54 : : PyMODINIT_FUNC 55 : 3 : PyInit__typing(void) 56 : : { 57 : 3 : return PyModuleDef_Init(&typingmodule); 58 : : }