@@ -442,46 +442,45 @@ validate_and_copy_tuple(PyObject *tup)
442
442
return newtuple ;
443
443
}
444
444
445
- PyDoc_STRVAR (code_doc ,
446
- "code(argcount, posonlyargcount, kwonlyargcount, nlocals, stacksize,\n\
447
- flags, codestring, constants, names, varnames, filename, name,\n\
448
- firstlineno, lnotab[, freevars[, cellvars]])\n\
449
- \n\
450
- Create a code object. Not for the faint of heart." );
445
+ /*[clinic input]
446
+ @classmethod
447
+ code.__new__ as code_new
448
+
449
+ argcount: int
450
+ posonlyargcount: int
451
+ kwonlyargcount: int
452
+ nlocals: int
453
+ stacksize: int
454
+ flags: int
455
+ codestring as code: object(subclass_of="&PyBytes_Type")
456
+ constants as consts: object(subclass_of="&PyTuple_Type")
457
+ names: object(subclass_of="&PyTuple_Type")
458
+ varnames: object(subclass_of="&PyTuple_Type")
459
+ filename: unicode
460
+ name: unicode
461
+ firstlineno: int
462
+ lnotab: object(subclass_of="&PyBytes_Type")
463
+ freevars: object(subclass_of="&PyTuple_Type", c_default="NULL") = ()
464
+ cellvars: object(subclass_of="&PyTuple_Type", c_default="NULL") = ()
465
+ /
466
+
467
+ Create a code object. Not for the faint of heart.
468
+ [clinic start generated code]*/
451
469
452
470
static PyObject *
453
- code_new (PyTypeObject * type , PyObject * args , PyObject * kw )
471
+ code_new_impl (PyTypeObject * type , int argcount , int posonlyargcount ,
472
+ int kwonlyargcount , int nlocals , int stacksize , int flags ,
473
+ PyObject * code , PyObject * consts , PyObject * names ,
474
+ PyObject * varnames , PyObject * filename , PyObject * name ,
475
+ int firstlineno , PyObject * lnotab , PyObject * freevars ,
476
+ PyObject * cellvars )
477
+ /*[clinic end generated code: output=612aac5395830184 input=85e678ea4178f234]*/
454
478
{
455
- int argcount ;
456
- int posonlyargcount ;
457
- int kwonlyargcount ;
458
- int nlocals ;
459
- int stacksize ;
460
- int flags ;
461
479
PyObject * co = NULL ;
462
- PyObject * code ;
463
- PyObject * consts ;
464
- PyObject * names , * ournames = NULL ;
465
- PyObject * varnames , * ourvarnames = NULL ;
466
- PyObject * freevars = NULL , * ourfreevars = NULL ;
467
- PyObject * cellvars = NULL , * ourcellvars = NULL ;
468
- PyObject * filename ;
469
- PyObject * name ;
470
- int firstlineno ;
471
- PyObject * lnotab ;
472
-
473
- if (!PyArg_ParseTuple (args , "iiiiiiSO!O!O!UUiS|O!O!:code" ,
474
- & argcount , & posonlyargcount , & kwonlyargcount ,
475
- & nlocals , & stacksize , & flags ,
476
- & code ,
477
- & PyTuple_Type , & consts ,
478
- & PyTuple_Type , & names ,
479
- & PyTuple_Type , & varnames ,
480
- & filename , & name ,
481
- & firstlineno , & lnotab ,
482
- & PyTuple_Type , & freevars ,
483
- & PyTuple_Type , & cellvars ))
484
- return NULL ;
480
+ PyObject * ournames = NULL ;
481
+ PyObject * ourvarnames = NULL ;
482
+ PyObject * ourfreevars = NULL ;
483
+ PyObject * ourcellvars = NULL ;
485
484
486
485
if (PySys_Audit ("code.__new__" , "OOOiiiiii" ,
487
486
code , filename , name , argcount , posonlyargcount ,
@@ -963,7 +962,7 @@ PyTypeObject PyCode_Type = {
963
962
0 , /* tp_setattro */
964
963
0 , /* tp_as_buffer */
965
964
Py_TPFLAGS_DEFAULT , /* tp_flags */
966
- code_doc , /* tp_doc */
965
+ code_new__doc__ , /* tp_doc */
967
966
0 , /* tp_traverse */
968
967
0 , /* tp_clear */
969
968
code_richcompare , /* tp_richcompare */
0 commit comments