@@ -5004,3 +5004,263 @@ PyDoc_STRVAR(new_dest__doc__,
5004
5004
"\n"
5005
5005
"Only this docstring should be outputted to test1." );
5006
5006
/*[clinic end generated code: output=9cac703f51d90e84 input=090db8df4945576d]*/
5007
+
5008
+
5009
+ /*[clinic input]
5010
+ mangled_c_keyword_identifier
5011
+ i as int: int
5012
+ The 'int' param should be mangled as 'int_value'
5013
+ [clinic start generated code]*/
5014
+
5015
+ PyDoc_STRVAR (mangled_c_keyword_identifier__doc__ ,
5016
+ "mangled_c_keyword_identifier($module, /, i)\n"
5017
+ "--\n"
5018
+ "\n"
5019
+ "The \'int\' param should be mangled as \'int_value\'" );
5020
+
5021
+ #define MANGLED_C_KEYWORD_IDENTIFIER_METHODDEF \
5022
+ {"mangled_c_keyword_identifier", _PyCFunction_CAST(mangled_c_keyword_identifier), METH_FASTCALL|METH_KEYWORDS, mangled_c_keyword_identifier__doc__},
5023
+
5024
+ static PyObject *
5025
+ mangled_c_keyword_identifier_impl (PyObject * module , int int_value );
5026
+
5027
+ static PyObject *
5028
+ mangled_c_keyword_identifier (PyObject * module , PyObject * const * args , Py_ssize_t nargs , PyObject * kwnames )
5029
+ {
5030
+ PyObject * return_value = NULL ;
5031
+ #if defined(Py_BUILD_CORE ) && !defined(Py_BUILD_CORE_MODULE )
5032
+
5033
+ #define NUM_KEYWORDS 1
5034
+ static struct {
5035
+ PyGC_Head _this_is_not_used ;
5036
+ PyObject_VAR_HEAD
5037
+ PyObject * ob_item [NUM_KEYWORDS ];
5038
+ } _kwtuple = {
5039
+ .ob_base = PyVarObject_HEAD_INIT (& PyTuple_Type , NUM_KEYWORDS )
5040
+ .ob_item = { & _Py_ID (i ), },
5041
+ };
5042
+ #undef NUM_KEYWORDS
5043
+ #define KWTUPLE (&_kwtuple.ob_base.ob_base)
5044
+
5045
+ #else // !Py_BUILD_CORE
5046
+ # define KWTUPLE NULL
5047
+ #endif // !Py_BUILD_CORE
5048
+
5049
+ static const char * const _keywords [] = {"i" , NULL };
5050
+ static _PyArg_Parser _parser = {
5051
+ .keywords = _keywords ,
5052
+ .fname = "mangled_c_keyword_identifier" ,
5053
+ .kwtuple = KWTUPLE ,
5054
+ };
5055
+ #undef KWTUPLE
5056
+ PyObject * argsbuf [1 ];
5057
+ int int_value ;
5058
+
5059
+ args = _PyArg_UnpackKeywords (args , nargs , NULL , kwnames , & _parser , 1 , 1 , 0 , argsbuf );
5060
+ if (!args ) {
5061
+ goto exit ;
5062
+ }
5063
+ int_value = _PyLong_AsInt (args [0 ]);
5064
+ if (int_value == -1 && PyErr_Occurred ()) {
5065
+ goto exit ;
5066
+ }
5067
+ return_value = mangled_c_keyword_identifier_impl (module , int_value );
5068
+
5069
+ exit :
5070
+ return return_value ;
5071
+ }
5072
+
5073
+ static PyObject *
5074
+ mangled_c_keyword_identifier_impl (PyObject * module , int int_value )
5075
+ /*[clinic end generated code: output=c049d7d79be26cda input=060876448ab567a2]*/
5076
+
5077
+
5078
+ /*[clinic input]
5079
+ bool_return -> bool
5080
+ [clinic start generated code]*/
5081
+
5082
+ PyDoc_STRVAR (bool_return__doc__ ,
5083
+ "bool_return ($module , /)\n "
5084
+ "-- \n "
5085
+ "\n ");
5086
+
5087
+ #define BOOL_RETURN_METHODDEF \
5088
+ {"bool_return", (PyCFunction)bool_return, METH_NOARGS, bool_return__doc__},
5089
+
5090
+ static int
5091
+ bool_return_impl (PyObject * module );
5092
+
5093
+ static PyObject *
5094
+ bool_return (PyObject * module , PyObject * Py_UNUSED (ignored ))
5095
+ {
5096
+ PyObject * return_value = NULL ;
5097
+ int _return_value ;
5098
+
5099
+ _return_value = bool_return_impl (module );
5100
+ if ((_return_value == -1 ) && PyErr_Occurred ()) {
5101
+ goto exit ;
5102
+ }
5103
+ return_value = PyBool_FromLong ((long )_return_value );
5104
+
5105
+ exit :
5106
+ return return_value ;
5107
+ }
5108
+
5109
+ static int
5110
+ bool_return_impl (PyObject * module )
5111
+ /*[clinic end generated code: output=3a65f07830e48e98 input=93ba95d39ee98f39]*/
5112
+
5113
+
5114
+ /*[clinic input]
5115
+ double_return -> double
5116
+ [clinic start generated code]*/
5117
+
5118
+ PyDoc_STRVAR (double_return__doc__ ,
5119
+ "double_return ($module , /)\n "
5120
+ "-- \n "
5121
+ "\n ");
5122
+
5123
+ #define DOUBLE_RETURN_METHODDEF \
5124
+ {"double_return" , (PyCFunction )double_return , METH_NOARGS , double_return__doc__ },
5125
+
5126
+ static double
5127
+ double_return_impl (PyObject * module );
5128
+
5129
+ static PyObject *
5130
+ double_return (PyObject * module , PyObject * Py_UNUSED (ignored ))
5131
+ {
5132
+ PyObject * return_value = NULL ;
5133
+ double _return_value ;
5134
+
5135
+ _return_value = double_return_impl (module );
5136
+ if ((_return_value == -1.0 ) && PyErr_Occurred ()) {
5137
+ goto exit ;
5138
+ }
5139
+ return_value = PyFloat_FromDouble (_return_value );
5140
+
5141
+ exit :
5142
+ return return_value ;
5143
+ }
5144
+
5145
+ static double
5146
+ double_return_impl (PyObject * module )
5147
+ /*[clinic end generated code: output=076dc72595d3f66d input=da11b6255e4cbfd7]*/
5148
+
5149
+
5150
+ /*[clinic input]
5151
+ Test.__init__
5152
+ a: object
5153
+ [
5154
+ b: object
5155
+ ]
5156
+ /
5157
+ Should generate two PyArg_ParseTuple calls.
5158
+ [clinic start generated code]*/
5159
+
5160
+ PyDoc_STRVAR (Test___init____doc__ ,
5161
+ "Test(a, [b])\n"
5162
+ "Should generate two PyArg_ParseTuple calls." );
5163
+
5164
+ static int
5165
+ Test___init___impl (TestObj * self , PyObject * a , int group_right_1 ,
5166
+ PyObject * b );
5167
+
5168
+ static int
5169
+ Test___init__ (PyObject * self , PyObject * args , PyObject * kwargs )
5170
+ {
5171
+ int return_value = -1 ;
5172
+ PyTypeObject * base_tp = TestType ;
5173
+ PyObject * a ;
5174
+ int group_right_1 = 0 ;
5175
+ PyObject * b = NULL ;
5176
+
5177
+ if ((Py_IS_TYPE (self , base_tp ) ||
5178
+ Py_TYPE (self )-> tp_new == base_tp -> tp_new ) &&
5179
+ !_PyArg_NoKeywords ("Test" , kwargs )) {
5180
+ goto exit ;
5181
+ }
5182
+ switch (PyTuple_GET_SIZE (args )) {
5183
+ case 1 :
5184
+ if (!PyArg_ParseTuple (args , "O:__init__" , & a )) {
5185
+ goto exit ;
5186
+ }
5187
+ break ;
5188
+ case 2 :
5189
+ if (!PyArg_ParseTuple (args , "OO:__init__" , & a , & b )) {
5190
+ goto exit ;
5191
+ }
5192
+ group_right_1 = 1 ;
5193
+ break ;
5194
+ default :
5195
+ PyErr_SetString (PyExc_TypeError , "Test.__init__ requires 1 to 2 arguments" );
5196
+ goto exit ;
5197
+ }
5198
+ return_value = Test___init___impl ((TestObj * )self , a , group_right_1 , b );
5199
+
5200
+ exit :
5201
+ return return_value ;
5202
+ }
5203
+
5204
+ static int
5205
+ Test___init___impl (TestObj * self , PyObject * a , int group_right_1 ,
5206
+ PyObject * b )
5207
+ /*[clinic end generated code: output=2bbb8ea60e8f57a6 input=10f5d0f1e8e466ef]*/
5208
+
5209
+
5210
+ /*[clinic input]
5211
+ Test._pyarg_parsestackandkeywords
5212
+ cls: defining_class
5213
+ key: str(accept={str, robuffer}, zeroes=True)
5214
+ /
5215
+ Check that _PyArg_ParseStackAndKeywords() is generated.
5216
+ [clinic start generated code]*/
5217
+
5218
+ PyDoc_STRVAR (Test__pyarg_parsestackandkeywords__doc__ ,
5219
+ "_pyarg_parsestackandkeywords($self, key, /)\n"
5220
+ "--\n"
5221
+ "\n"
5222
+ "Check that _PyArg_ParseStackAndKeywords() is generated." );
5223
+
5224
+ #define TEST__PYARG_PARSESTACKANDKEYWORDS_METHODDEF \
5225
+ {"_pyarg_parsestackandkeywords", _PyCFunction_CAST(Test__pyarg_parsestackandkeywords), METH_METHOD|METH_FASTCALL|METH_KEYWORDS, Test__pyarg_parsestackandkeywords__doc__},
5226
+
5227
+ static PyObject *
5228
+ Test__pyarg_parsestackandkeywords_impl (TestObj * self , PyTypeObject * cls ,
5229
+ const char * key ,
5230
+ Py_ssize_t key_length );
5231
+
5232
+ static PyObject *
5233
+ Test__pyarg_parsestackandkeywords (TestObj * self , PyTypeObject * cls , PyObject * const * args , Py_ssize_t nargs , PyObject * kwnames )
5234
+ {
5235
+ PyObject * return_value = NULL ;
5236
+ #if defined(Py_BUILD_CORE ) && !defined(Py_BUILD_CORE_MODULE )
5237
+ # define KWTUPLE (PyObject *)&_Py_SINGLETON(tuple_empty)
5238
+ #else
5239
+ # define KWTUPLE NULL
5240
+ #endif
5241
+
5242
+ static const char * const _keywords [] = {"" , NULL };
5243
+ static _PyArg_Parser _parser = {
5244
+ .keywords = _keywords ,
5245
+ .format = "s#:_pyarg_parsestackandkeywords" ,
5246
+ .kwtuple = KWTUPLE ,
5247
+ };
5248
+ #undef KWTUPLE
5249
+ const char * key ;
5250
+ Py_ssize_t key_length ;
5251
+
5252
+ if (!_PyArg_ParseStackAndKeywords (args , nargs , kwnames , & _parser ,
5253
+ & key , & key_length )) {
5254
+ goto exit ;
5255
+ }
5256
+ return_value = Test__pyarg_parsestackandkeywords_impl (self , cls , key , key_length );
5257
+
5258
+ exit :
5259
+ return return_value ;
5260
+ }
5261
+
5262
+ static PyObject *
5263
+ Test__pyarg_parsestackandkeywords_impl (TestObj * self , PyTypeObject * cls ,
5264
+ const char * key ,
5265
+ Py_ssize_t key_length )
5266
+ /*[clinic end generated code: output=4fda8a7f2547137c input=fc72ef4b4cfafabc]*/
0 commit comments