2020
2121/*[clinic input]
2222class BaseException "PyBaseExceptionObject *" "&PyExc_BaseException"
23+ class BaseExceptionGroup "PyBaseExceptionGroupObject *" "&PyExc_BaseExceptionGroup"
2324[clinic start generated code]*/
24- /*[clinic end generated code: output=da39a3ee5e6b4b0d input=90558eb0fbf8a3d0 ]*/
25+ /*[clinic end generated code: output=da39a3ee5e6b4b0d input=b7c45e78cff8edc3 ]*/
2526
2627
2728/* Compatibility aliases */
@@ -1034,10 +1035,18 @@ BaseExceptionGroup_str(PyBaseExceptionGroupObject *self)
10341035 self -> msg , num_excs , num_excs > 1 ? "s" : "" );
10351036}
10361037
1038+ /*[clinic input]
1039+ @critical_section
1040+ BaseExceptionGroup.derive
1041+ excs: object
1042+ /
1043+ [clinic start generated code]*/
1044+
10371045static PyObject *
1038- BaseExceptionGroup_derive (PyObject * self_ , PyObject * excs )
1046+ BaseExceptionGroup_derive_impl (PyBaseExceptionGroupObject * self ,
1047+ PyObject * excs )
1048+ /*[clinic end generated code: output=4307564218dfbf06 input=f72009d38e98cec1]*/
10391049{
1040- PyBaseExceptionGroupObject * self = _PyBaseExceptionGroupObject_cast (self_ );
10411050 PyObject * init_args = PyTuple_Pack (2 , self -> msg , excs );
10421051 if (!init_args ) {
10431052 return NULL ;
@@ -1330,8 +1339,17 @@ exceptiongroup_split_recursive(PyObject *exc,
13301339 return retval ;
13311340}
13321341
1342+ /*[clinic input]
1343+ @critical_section
1344+ BaseExceptionGroup.split
1345+ matcher_value: object
1346+ /
1347+ [clinic start generated code]*/
1348+
13331349static PyObject *
1334- BaseExceptionGroup_split (PyObject * self , PyObject * matcher_value )
1350+ BaseExceptionGroup_split_impl (PyBaseExceptionGroupObject * self ,
1351+ PyObject * matcher_value )
1352+ /*[clinic end generated code: output=d74db579da4df6e2 input=0c5cfbfed57e0052]*/
13351353{
13361354 _exceptiongroup_split_matcher_type matcher_type ;
13371355 if (get_matcher_type (matcher_value , & matcher_type ) < 0 ) {
@@ -1341,7 +1359,7 @@ BaseExceptionGroup_split(PyObject *self, PyObject *matcher_value)
13411359 _exceptiongroup_split_result split_result ;
13421360 bool construct_rest = true;
13431361 if (exceptiongroup_split_recursive (
1344- self , matcher_type , matcher_value ,
1362+ ( PyObject * ) self , matcher_type , matcher_value ,
13451363 construct_rest , & split_result ) < 0 ) {
13461364 return NULL ;
13471365 }
@@ -1356,8 +1374,17 @@ BaseExceptionGroup_split(PyObject *self, PyObject *matcher_value)
13561374 return result ;
13571375}
13581376
1377+ /*[clinic input]
1378+ @critical_section
1379+ BaseExceptionGroup.subgroup
1380+ matcher_value: object
1381+ /
1382+ [clinic start generated code]*/
1383+
13591384static PyObject *
1360- BaseExceptionGroup_subgroup (PyObject * self , PyObject * matcher_value )
1385+ BaseExceptionGroup_subgroup_impl (PyBaseExceptionGroupObject * self ,
1386+ PyObject * matcher_value )
1387+ /*[clinic end generated code: output=07dbec8f77d4dd8e input=988ffdd755a151ce]*/
13611388{
13621389 _exceptiongroup_split_matcher_type matcher_type ;
13631390 if (get_matcher_type (matcher_value , & matcher_type ) < 0 ) {
@@ -1367,7 +1394,7 @@ BaseExceptionGroup_subgroup(PyObject *self, PyObject *matcher_value)
13671394 _exceptiongroup_split_result split_result ;
13681395 bool construct_rest = false;
13691396 if (exceptiongroup_split_recursive (
1370- self , matcher_type , matcher_value ,
1397+ ( PyObject * ) self , matcher_type , matcher_value ,
13711398 construct_rest , & split_result ) < 0 ) {
13721399 return NULL ;
13731400 }
@@ -1633,9 +1660,9 @@ static PyMemberDef BaseExceptionGroup_members[] = {
16331660static PyMethodDef BaseExceptionGroup_methods [] = {
16341661 {"__class_getitem__" , (PyCFunction )Py_GenericAlias ,
16351662 METH_O |METH_CLASS , PyDoc_STR ("See PEP 585" )},
1636- { "derive" , ( PyCFunction ) BaseExceptionGroup_derive , METH_O },
1637- { "split" , ( PyCFunction ) BaseExceptionGroup_split , METH_O },
1638- { "subgroup" , ( PyCFunction ) BaseExceptionGroup_subgroup , METH_O },
1663+ BASEEXCEPTIONGROUP_DERIVE_METHODDEF
1664+ BASEEXCEPTIONGROUP_SPLIT_METHODDEF
1665+ BASEEXCEPTIONGROUP_SUBGROUP_METHODDEF
16391666 {NULL }
16401667};
16411668
0 commit comments