17db96d56Sopenharmony_ci/*[clinic input] 27db96d56Sopenharmony_cipreserve 37db96d56Sopenharmony_ci[clinic start generated code]*/ 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciPyDoc_STRVAR(code_new__doc__, 67db96d56Sopenharmony_ci"code(argcount, posonlyargcount, kwonlyargcount, nlocals, stacksize,\n" 77db96d56Sopenharmony_ci" flags, codestring, constants, names, varnames, filename, name,\n" 87db96d56Sopenharmony_ci" qualname, firstlineno, linetable, exceptiontable, freevars=(),\n" 97db96d56Sopenharmony_ci" cellvars=(), /)\n" 107db96d56Sopenharmony_ci"--\n" 117db96d56Sopenharmony_ci"\n" 127db96d56Sopenharmony_ci"Create a code object. Not for the faint of heart."); 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_cistatic PyObject * 157db96d56Sopenharmony_cicode_new_impl(PyTypeObject *type, int argcount, int posonlyargcount, 167db96d56Sopenharmony_ci int kwonlyargcount, int nlocals, int stacksize, int flags, 177db96d56Sopenharmony_ci PyObject *code, PyObject *consts, PyObject *names, 187db96d56Sopenharmony_ci PyObject *varnames, PyObject *filename, PyObject *name, 197db96d56Sopenharmony_ci PyObject *qualname, int firstlineno, PyObject *linetable, 207db96d56Sopenharmony_ci PyObject *exceptiontable, PyObject *freevars, 217db96d56Sopenharmony_ci PyObject *cellvars); 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_cistatic PyObject * 247db96d56Sopenharmony_cicode_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) 257db96d56Sopenharmony_ci{ 267db96d56Sopenharmony_ci PyObject *return_value = NULL; 277db96d56Sopenharmony_ci int argcount; 287db96d56Sopenharmony_ci int posonlyargcount; 297db96d56Sopenharmony_ci int kwonlyargcount; 307db96d56Sopenharmony_ci int nlocals; 317db96d56Sopenharmony_ci int stacksize; 327db96d56Sopenharmony_ci int flags; 337db96d56Sopenharmony_ci PyObject *code; 347db96d56Sopenharmony_ci PyObject *consts; 357db96d56Sopenharmony_ci PyObject *names; 367db96d56Sopenharmony_ci PyObject *varnames; 377db96d56Sopenharmony_ci PyObject *filename; 387db96d56Sopenharmony_ci PyObject *name; 397db96d56Sopenharmony_ci PyObject *qualname; 407db96d56Sopenharmony_ci int firstlineno; 417db96d56Sopenharmony_ci PyObject *linetable; 427db96d56Sopenharmony_ci PyObject *exceptiontable; 437db96d56Sopenharmony_ci PyObject *freevars = NULL; 447db96d56Sopenharmony_ci PyObject *cellvars = NULL; 457db96d56Sopenharmony_ci 467db96d56Sopenharmony_ci if ((type == &PyCode_Type || 477db96d56Sopenharmony_ci type->tp_init == PyCode_Type.tp_init) && 487db96d56Sopenharmony_ci !_PyArg_NoKeywords("code", kwargs)) { 497db96d56Sopenharmony_ci goto exit; 507db96d56Sopenharmony_ci } 517db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("code", PyTuple_GET_SIZE(args), 16, 18)) { 527db96d56Sopenharmony_ci goto exit; 537db96d56Sopenharmony_ci } 547db96d56Sopenharmony_ci argcount = _PyLong_AsInt(PyTuple_GET_ITEM(args, 0)); 557db96d56Sopenharmony_ci if (argcount == -1 && PyErr_Occurred()) { 567db96d56Sopenharmony_ci goto exit; 577db96d56Sopenharmony_ci } 587db96d56Sopenharmony_ci posonlyargcount = _PyLong_AsInt(PyTuple_GET_ITEM(args, 1)); 597db96d56Sopenharmony_ci if (posonlyargcount == -1 && PyErr_Occurred()) { 607db96d56Sopenharmony_ci goto exit; 617db96d56Sopenharmony_ci } 627db96d56Sopenharmony_ci kwonlyargcount = _PyLong_AsInt(PyTuple_GET_ITEM(args, 2)); 637db96d56Sopenharmony_ci if (kwonlyargcount == -1 && PyErr_Occurred()) { 647db96d56Sopenharmony_ci goto exit; 657db96d56Sopenharmony_ci } 667db96d56Sopenharmony_ci nlocals = _PyLong_AsInt(PyTuple_GET_ITEM(args, 3)); 677db96d56Sopenharmony_ci if (nlocals == -1 && PyErr_Occurred()) { 687db96d56Sopenharmony_ci goto exit; 697db96d56Sopenharmony_ci } 707db96d56Sopenharmony_ci stacksize = _PyLong_AsInt(PyTuple_GET_ITEM(args, 4)); 717db96d56Sopenharmony_ci if (stacksize == -1 && PyErr_Occurred()) { 727db96d56Sopenharmony_ci goto exit; 737db96d56Sopenharmony_ci } 747db96d56Sopenharmony_ci flags = _PyLong_AsInt(PyTuple_GET_ITEM(args, 5)); 757db96d56Sopenharmony_ci if (flags == -1 && PyErr_Occurred()) { 767db96d56Sopenharmony_ci goto exit; 777db96d56Sopenharmony_ci } 787db96d56Sopenharmony_ci if (!PyBytes_Check(PyTuple_GET_ITEM(args, 6))) { 797db96d56Sopenharmony_ci _PyArg_BadArgument("code", "argument 7", "bytes", PyTuple_GET_ITEM(args, 6)); 807db96d56Sopenharmony_ci goto exit; 817db96d56Sopenharmony_ci } 827db96d56Sopenharmony_ci code = PyTuple_GET_ITEM(args, 6); 837db96d56Sopenharmony_ci if (!PyTuple_Check(PyTuple_GET_ITEM(args, 7))) { 847db96d56Sopenharmony_ci _PyArg_BadArgument("code", "argument 8", "tuple", PyTuple_GET_ITEM(args, 7)); 857db96d56Sopenharmony_ci goto exit; 867db96d56Sopenharmony_ci } 877db96d56Sopenharmony_ci consts = PyTuple_GET_ITEM(args, 7); 887db96d56Sopenharmony_ci if (!PyTuple_Check(PyTuple_GET_ITEM(args, 8))) { 897db96d56Sopenharmony_ci _PyArg_BadArgument("code", "argument 9", "tuple", PyTuple_GET_ITEM(args, 8)); 907db96d56Sopenharmony_ci goto exit; 917db96d56Sopenharmony_ci } 927db96d56Sopenharmony_ci names = PyTuple_GET_ITEM(args, 8); 937db96d56Sopenharmony_ci if (!PyTuple_Check(PyTuple_GET_ITEM(args, 9))) { 947db96d56Sopenharmony_ci _PyArg_BadArgument("code", "argument 10", "tuple", PyTuple_GET_ITEM(args, 9)); 957db96d56Sopenharmony_ci goto exit; 967db96d56Sopenharmony_ci } 977db96d56Sopenharmony_ci varnames = PyTuple_GET_ITEM(args, 9); 987db96d56Sopenharmony_ci if (!PyUnicode_Check(PyTuple_GET_ITEM(args, 10))) { 997db96d56Sopenharmony_ci _PyArg_BadArgument("code", "argument 11", "str", PyTuple_GET_ITEM(args, 10)); 1007db96d56Sopenharmony_ci goto exit; 1017db96d56Sopenharmony_ci } 1027db96d56Sopenharmony_ci if (PyUnicode_READY(PyTuple_GET_ITEM(args, 10)) == -1) { 1037db96d56Sopenharmony_ci goto exit; 1047db96d56Sopenharmony_ci } 1057db96d56Sopenharmony_ci filename = PyTuple_GET_ITEM(args, 10); 1067db96d56Sopenharmony_ci if (!PyUnicode_Check(PyTuple_GET_ITEM(args, 11))) { 1077db96d56Sopenharmony_ci _PyArg_BadArgument("code", "argument 12", "str", PyTuple_GET_ITEM(args, 11)); 1087db96d56Sopenharmony_ci goto exit; 1097db96d56Sopenharmony_ci } 1107db96d56Sopenharmony_ci if (PyUnicode_READY(PyTuple_GET_ITEM(args, 11)) == -1) { 1117db96d56Sopenharmony_ci goto exit; 1127db96d56Sopenharmony_ci } 1137db96d56Sopenharmony_ci name = PyTuple_GET_ITEM(args, 11); 1147db96d56Sopenharmony_ci if (!PyUnicode_Check(PyTuple_GET_ITEM(args, 12))) { 1157db96d56Sopenharmony_ci _PyArg_BadArgument("code", "argument 13", "str", PyTuple_GET_ITEM(args, 12)); 1167db96d56Sopenharmony_ci goto exit; 1177db96d56Sopenharmony_ci } 1187db96d56Sopenharmony_ci if (PyUnicode_READY(PyTuple_GET_ITEM(args, 12)) == -1) { 1197db96d56Sopenharmony_ci goto exit; 1207db96d56Sopenharmony_ci } 1217db96d56Sopenharmony_ci qualname = PyTuple_GET_ITEM(args, 12); 1227db96d56Sopenharmony_ci firstlineno = _PyLong_AsInt(PyTuple_GET_ITEM(args, 13)); 1237db96d56Sopenharmony_ci if (firstlineno == -1 && PyErr_Occurred()) { 1247db96d56Sopenharmony_ci goto exit; 1257db96d56Sopenharmony_ci } 1267db96d56Sopenharmony_ci if (!PyBytes_Check(PyTuple_GET_ITEM(args, 14))) { 1277db96d56Sopenharmony_ci _PyArg_BadArgument("code", "argument 15", "bytes", PyTuple_GET_ITEM(args, 14)); 1287db96d56Sopenharmony_ci goto exit; 1297db96d56Sopenharmony_ci } 1307db96d56Sopenharmony_ci linetable = PyTuple_GET_ITEM(args, 14); 1317db96d56Sopenharmony_ci if (!PyBytes_Check(PyTuple_GET_ITEM(args, 15))) { 1327db96d56Sopenharmony_ci _PyArg_BadArgument("code", "argument 16", "bytes", PyTuple_GET_ITEM(args, 15)); 1337db96d56Sopenharmony_ci goto exit; 1347db96d56Sopenharmony_ci } 1357db96d56Sopenharmony_ci exceptiontable = PyTuple_GET_ITEM(args, 15); 1367db96d56Sopenharmony_ci if (PyTuple_GET_SIZE(args) < 17) { 1377db96d56Sopenharmony_ci goto skip_optional; 1387db96d56Sopenharmony_ci } 1397db96d56Sopenharmony_ci if (!PyTuple_Check(PyTuple_GET_ITEM(args, 16))) { 1407db96d56Sopenharmony_ci _PyArg_BadArgument("code", "argument 17", "tuple", PyTuple_GET_ITEM(args, 16)); 1417db96d56Sopenharmony_ci goto exit; 1427db96d56Sopenharmony_ci } 1437db96d56Sopenharmony_ci freevars = PyTuple_GET_ITEM(args, 16); 1447db96d56Sopenharmony_ci if (PyTuple_GET_SIZE(args) < 18) { 1457db96d56Sopenharmony_ci goto skip_optional; 1467db96d56Sopenharmony_ci } 1477db96d56Sopenharmony_ci if (!PyTuple_Check(PyTuple_GET_ITEM(args, 17))) { 1487db96d56Sopenharmony_ci _PyArg_BadArgument("code", "argument 18", "tuple", PyTuple_GET_ITEM(args, 17)); 1497db96d56Sopenharmony_ci goto exit; 1507db96d56Sopenharmony_ci } 1517db96d56Sopenharmony_ci cellvars = PyTuple_GET_ITEM(args, 17); 1527db96d56Sopenharmony_ciskip_optional: 1537db96d56Sopenharmony_ci return_value = code_new_impl(type, argcount, posonlyargcount, kwonlyargcount, nlocals, stacksize, flags, code, consts, names, varnames, filename, name, qualname, firstlineno, linetable, exceptiontable, freevars, cellvars); 1547db96d56Sopenharmony_ci 1557db96d56Sopenharmony_ciexit: 1567db96d56Sopenharmony_ci return return_value; 1577db96d56Sopenharmony_ci} 1587db96d56Sopenharmony_ci 1597db96d56Sopenharmony_ciPyDoc_STRVAR(code_replace__doc__, 1607db96d56Sopenharmony_ci"replace($self, /, *, co_argcount=-1, co_posonlyargcount=-1,\n" 1617db96d56Sopenharmony_ci" co_kwonlyargcount=-1, co_nlocals=-1, co_stacksize=-1,\n" 1627db96d56Sopenharmony_ci" co_flags=-1, co_firstlineno=-1, co_code=None, co_consts=None,\n" 1637db96d56Sopenharmony_ci" co_names=None, co_varnames=None, co_freevars=None,\n" 1647db96d56Sopenharmony_ci" co_cellvars=None, co_filename=None, co_name=None,\n" 1657db96d56Sopenharmony_ci" co_qualname=None, co_linetable=None, co_exceptiontable=None)\n" 1667db96d56Sopenharmony_ci"--\n" 1677db96d56Sopenharmony_ci"\n" 1687db96d56Sopenharmony_ci"Return a copy of the code object with new values for the specified fields."); 1697db96d56Sopenharmony_ci 1707db96d56Sopenharmony_ci#define CODE_REPLACE_METHODDEF \ 1717db96d56Sopenharmony_ci {"replace", _PyCFunction_CAST(code_replace), METH_FASTCALL|METH_KEYWORDS, code_replace__doc__}, 1727db96d56Sopenharmony_ci 1737db96d56Sopenharmony_cistatic PyObject * 1747db96d56Sopenharmony_cicode_replace_impl(PyCodeObject *self, int co_argcount, 1757db96d56Sopenharmony_ci int co_posonlyargcount, int co_kwonlyargcount, 1767db96d56Sopenharmony_ci int co_nlocals, int co_stacksize, int co_flags, 1777db96d56Sopenharmony_ci int co_firstlineno, PyBytesObject *co_code, 1787db96d56Sopenharmony_ci PyObject *co_consts, PyObject *co_names, 1797db96d56Sopenharmony_ci PyObject *co_varnames, PyObject *co_freevars, 1807db96d56Sopenharmony_ci PyObject *co_cellvars, PyObject *co_filename, 1817db96d56Sopenharmony_ci PyObject *co_name, PyObject *co_qualname, 1827db96d56Sopenharmony_ci PyBytesObject *co_linetable, 1837db96d56Sopenharmony_ci PyBytesObject *co_exceptiontable); 1847db96d56Sopenharmony_ci 1857db96d56Sopenharmony_cistatic PyObject * 1867db96d56Sopenharmony_cicode_replace(PyCodeObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 1877db96d56Sopenharmony_ci{ 1887db96d56Sopenharmony_ci PyObject *return_value = NULL; 1897db96d56Sopenharmony_ci static const char * const _keywords[] = {"co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_qualname", "co_linetable", "co_exceptiontable", NULL}; 1907db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "replace", 0}; 1917db96d56Sopenharmony_ci PyObject *argsbuf[18]; 1927db96d56Sopenharmony_ci Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 0; 1937db96d56Sopenharmony_ci int co_argcount = self->co_argcount; 1947db96d56Sopenharmony_ci int co_posonlyargcount = self->co_posonlyargcount; 1957db96d56Sopenharmony_ci int co_kwonlyargcount = self->co_kwonlyargcount; 1967db96d56Sopenharmony_ci int co_nlocals = self->co_nlocals; 1977db96d56Sopenharmony_ci int co_stacksize = self->co_stacksize; 1987db96d56Sopenharmony_ci int co_flags = self->co_flags; 1997db96d56Sopenharmony_ci int co_firstlineno = self->co_firstlineno; 2007db96d56Sopenharmony_ci PyBytesObject *co_code = NULL; 2017db96d56Sopenharmony_ci PyObject *co_consts = self->co_consts; 2027db96d56Sopenharmony_ci PyObject *co_names = self->co_names; 2037db96d56Sopenharmony_ci PyObject *co_varnames = NULL; 2047db96d56Sopenharmony_ci PyObject *co_freevars = NULL; 2057db96d56Sopenharmony_ci PyObject *co_cellvars = NULL; 2067db96d56Sopenharmony_ci PyObject *co_filename = self->co_filename; 2077db96d56Sopenharmony_ci PyObject *co_name = self->co_name; 2087db96d56Sopenharmony_ci PyObject *co_qualname = self->co_qualname; 2097db96d56Sopenharmony_ci PyBytesObject *co_linetable = (PyBytesObject *)self->co_linetable; 2107db96d56Sopenharmony_ci PyBytesObject *co_exceptiontable = (PyBytesObject *)self->co_exceptiontable; 2117db96d56Sopenharmony_ci 2127db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 0, 0, 0, argsbuf); 2137db96d56Sopenharmony_ci if (!args) { 2147db96d56Sopenharmony_ci goto exit; 2157db96d56Sopenharmony_ci } 2167db96d56Sopenharmony_ci if (!noptargs) { 2177db96d56Sopenharmony_ci goto skip_optional_kwonly; 2187db96d56Sopenharmony_ci } 2197db96d56Sopenharmony_ci if (args[0]) { 2207db96d56Sopenharmony_ci co_argcount = _PyLong_AsInt(args[0]); 2217db96d56Sopenharmony_ci if (co_argcount == -1 && PyErr_Occurred()) { 2227db96d56Sopenharmony_ci goto exit; 2237db96d56Sopenharmony_ci } 2247db96d56Sopenharmony_ci if (!--noptargs) { 2257db96d56Sopenharmony_ci goto skip_optional_kwonly; 2267db96d56Sopenharmony_ci } 2277db96d56Sopenharmony_ci } 2287db96d56Sopenharmony_ci if (args[1]) { 2297db96d56Sopenharmony_ci co_posonlyargcount = _PyLong_AsInt(args[1]); 2307db96d56Sopenharmony_ci if (co_posonlyargcount == -1 && PyErr_Occurred()) { 2317db96d56Sopenharmony_ci goto exit; 2327db96d56Sopenharmony_ci } 2337db96d56Sopenharmony_ci if (!--noptargs) { 2347db96d56Sopenharmony_ci goto skip_optional_kwonly; 2357db96d56Sopenharmony_ci } 2367db96d56Sopenharmony_ci } 2377db96d56Sopenharmony_ci if (args[2]) { 2387db96d56Sopenharmony_ci co_kwonlyargcount = _PyLong_AsInt(args[2]); 2397db96d56Sopenharmony_ci if (co_kwonlyargcount == -1 && PyErr_Occurred()) { 2407db96d56Sopenharmony_ci goto exit; 2417db96d56Sopenharmony_ci } 2427db96d56Sopenharmony_ci if (!--noptargs) { 2437db96d56Sopenharmony_ci goto skip_optional_kwonly; 2447db96d56Sopenharmony_ci } 2457db96d56Sopenharmony_ci } 2467db96d56Sopenharmony_ci if (args[3]) { 2477db96d56Sopenharmony_ci co_nlocals = _PyLong_AsInt(args[3]); 2487db96d56Sopenharmony_ci if (co_nlocals == -1 && PyErr_Occurred()) { 2497db96d56Sopenharmony_ci goto exit; 2507db96d56Sopenharmony_ci } 2517db96d56Sopenharmony_ci if (!--noptargs) { 2527db96d56Sopenharmony_ci goto skip_optional_kwonly; 2537db96d56Sopenharmony_ci } 2547db96d56Sopenharmony_ci } 2557db96d56Sopenharmony_ci if (args[4]) { 2567db96d56Sopenharmony_ci co_stacksize = _PyLong_AsInt(args[4]); 2577db96d56Sopenharmony_ci if (co_stacksize == -1 && PyErr_Occurred()) { 2587db96d56Sopenharmony_ci goto exit; 2597db96d56Sopenharmony_ci } 2607db96d56Sopenharmony_ci if (!--noptargs) { 2617db96d56Sopenharmony_ci goto skip_optional_kwonly; 2627db96d56Sopenharmony_ci } 2637db96d56Sopenharmony_ci } 2647db96d56Sopenharmony_ci if (args[5]) { 2657db96d56Sopenharmony_ci co_flags = _PyLong_AsInt(args[5]); 2667db96d56Sopenharmony_ci if (co_flags == -1 && PyErr_Occurred()) { 2677db96d56Sopenharmony_ci goto exit; 2687db96d56Sopenharmony_ci } 2697db96d56Sopenharmony_ci if (!--noptargs) { 2707db96d56Sopenharmony_ci goto skip_optional_kwonly; 2717db96d56Sopenharmony_ci } 2727db96d56Sopenharmony_ci } 2737db96d56Sopenharmony_ci if (args[6]) { 2747db96d56Sopenharmony_ci co_firstlineno = _PyLong_AsInt(args[6]); 2757db96d56Sopenharmony_ci if (co_firstlineno == -1 && PyErr_Occurred()) { 2767db96d56Sopenharmony_ci goto exit; 2777db96d56Sopenharmony_ci } 2787db96d56Sopenharmony_ci if (!--noptargs) { 2797db96d56Sopenharmony_ci goto skip_optional_kwonly; 2807db96d56Sopenharmony_ci } 2817db96d56Sopenharmony_ci } 2827db96d56Sopenharmony_ci if (args[7]) { 2837db96d56Sopenharmony_ci if (!PyBytes_Check(args[7])) { 2847db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 'co_code'", "bytes", args[7]); 2857db96d56Sopenharmony_ci goto exit; 2867db96d56Sopenharmony_ci } 2877db96d56Sopenharmony_ci co_code = (PyBytesObject *)args[7]; 2887db96d56Sopenharmony_ci if (!--noptargs) { 2897db96d56Sopenharmony_ci goto skip_optional_kwonly; 2907db96d56Sopenharmony_ci } 2917db96d56Sopenharmony_ci } 2927db96d56Sopenharmony_ci if (args[8]) { 2937db96d56Sopenharmony_ci if (!PyTuple_Check(args[8])) { 2947db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 'co_consts'", "tuple", args[8]); 2957db96d56Sopenharmony_ci goto exit; 2967db96d56Sopenharmony_ci } 2977db96d56Sopenharmony_ci co_consts = args[8]; 2987db96d56Sopenharmony_ci if (!--noptargs) { 2997db96d56Sopenharmony_ci goto skip_optional_kwonly; 3007db96d56Sopenharmony_ci } 3017db96d56Sopenharmony_ci } 3027db96d56Sopenharmony_ci if (args[9]) { 3037db96d56Sopenharmony_ci if (!PyTuple_Check(args[9])) { 3047db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 'co_names'", "tuple", args[9]); 3057db96d56Sopenharmony_ci goto exit; 3067db96d56Sopenharmony_ci } 3077db96d56Sopenharmony_ci co_names = args[9]; 3087db96d56Sopenharmony_ci if (!--noptargs) { 3097db96d56Sopenharmony_ci goto skip_optional_kwonly; 3107db96d56Sopenharmony_ci } 3117db96d56Sopenharmony_ci } 3127db96d56Sopenharmony_ci if (args[10]) { 3137db96d56Sopenharmony_ci if (!PyTuple_Check(args[10])) { 3147db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 'co_varnames'", "tuple", args[10]); 3157db96d56Sopenharmony_ci goto exit; 3167db96d56Sopenharmony_ci } 3177db96d56Sopenharmony_ci co_varnames = args[10]; 3187db96d56Sopenharmony_ci if (!--noptargs) { 3197db96d56Sopenharmony_ci goto skip_optional_kwonly; 3207db96d56Sopenharmony_ci } 3217db96d56Sopenharmony_ci } 3227db96d56Sopenharmony_ci if (args[11]) { 3237db96d56Sopenharmony_ci if (!PyTuple_Check(args[11])) { 3247db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 'co_freevars'", "tuple", args[11]); 3257db96d56Sopenharmony_ci goto exit; 3267db96d56Sopenharmony_ci } 3277db96d56Sopenharmony_ci co_freevars = args[11]; 3287db96d56Sopenharmony_ci if (!--noptargs) { 3297db96d56Sopenharmony_ci goto skip_optional_kwonly; 3307db96d56Sopenharmony_ci } 3317db96d56Sopenharmony_ci } 3327db96d56Sopenharmony_ci if (args[12]) { 3337db96d56Sopenharmony_ci if (!PyTuple_Check(args[12])) { 3347db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 'co_cellvars'", "tuple", args[12]); 3357db96d56Sopenharmony_ci goto exit; 3367db96d56Sopenharmony_ci } 3377db96d56Sopenharmony_ci co_cellvars = args[12]; 3387db96d56Sopenharmony_ci if (!--noptargs) { 3397db96d56Sopenharmony_ci goto skip_optional_kwonly; 3407db96d56Sopenharmony_ci } 3417db96d56Sopenharmony_ci } 3427db96d56Sopenharmony_ci if (args[13]) { 3437db96d56Sopenharmony_ci if (!PyUnicode_Check(args[13])) { 3447db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 'co_filename'", "str", args[13]); 3457db96d56Sopenharmony_ci goto exit; 3467db96d56Sopenharmony_ci } 3477db96d56Sopenharmony_ci if (PyUnicode_READY(args[13]) == -1) { 3487db96d56Sopenharmony_ci goto exit; 3497db96d56Sopenharmony_ci } 3507db96d56Sopenharmony_ci co_filename = args[13]; 3517db96d56Sopenharmony_ci if (!--noptargs) { 3527db96d56Sopenharmony_ci goto skip_optional_kwonly; 3537db96d56Sopenharmony_ci } 3547db96d56Sopenharmony_ci } 3557db96d56Sopenharmony_ci if (args[14]) { 3567db96d56Sopenharmony_ci if (!PyUnicode_Check(args[14])) { 3577db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 'co_name'", "str", args[14]); 3587db96d56Sopenharmony_ci goto exit; 3597db96d56Sopenharmony_ci } 3607db96d56Sopenharmony_ci if (PyUnicode_READY(args[14]) == -1) { 3617db96d56Sopenharmony_ci goto exit; 3627db96d56Sopenharmony_ci } 3637db96d56Sopenharmony_ci co_name = args[14]; 3647db96d56Sopenharmony_ci if (!--noptargs) { 3657db96d56Sopenharmony_ci goto skip_optional_kwonly; 3667db96d56Sopenharmony_ci } 3677db96d56Sopenharmony_ci } 3687db96d56Sopenharmony_ci if (args[15]) { 3697db96d56Sopenharmony_ci if (!PyUnicode_Check(args[15])) { 3707db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 'co_qualname'", "str", args[15]); 3717db96d56Sopenharmony_ci goto exit; 3727db96d56Sopenharmony_ci } 3737db96d56Sopenharmony_ci if (PyUnicode_READY(args[15]) == -1) { 3747db96d56Sopenharmony_ci goto exit; 3757db96d56Sopenharmony_ci } 3767db96d56Sopenharmony_ci co_qualname = args[15]; 3777db96d56Sopenharmony_ci if (!--noptargs) { 3787db96d56Sopenharmony_ci goto skip_optional_kwonly; 3797db96d56Sopenharmony_ci } 3807db96d56Sopenharmony_ci } 3817db96d56Sopenharmony_ci if (args[16]) { 3827db96d56Sopenharmony_ci if (!PyBytes_Check(args[16])) { 3837db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 'co_linetable'", "bytes", args[16]); 3847db96d56Sopenharmony_ci goto exit; 3857db96d56Sopenharmony_ci } 3867db96d56Sopenharmony_ci co_linetable = (PyBytesObject *)args[16]; 3877db96d56Sopenharmony_ci if (!--noptargs) { 3887db96d56Sopenharmony_ci goto skip_optional_kwonly; 3897db96d56Sopenharmony_ci } 3907db96d56Sopenharmony_ci } 3917db96d56Sopenharmony_ci if (!PyBytes_Check(args[17])) { 3927db96d56Sopenharmony_ci _PyArg_BadArgument("replace", "argument 'co_exceptiontable'", "bytes", args[17]); 3937db96d56Sopenharmony_ci goto exit; 3947db96d56Sopenharmony_ci } 3957db96d56Sopenharmony_ci co_exceptiontable = (PyBytesObject *)args[17]; 3967db96d56Sopenharmony_ciskip_optional_kwonly: 3977db96d56Sopenharmony_ci return_value = code_replace_impl(self, co_argcount, co_posonlyargcount, co_kwonlyargcount, co_nlocals, co_stacksize, co_flags, co_firstlineno, co_code, co_consts, co_names, co_varnames, co_freevars, co_cellvars, co_filename, co_name, co_qualname, co_linetable, co_exceptiontable); 3987db96d56Sopenharmony_ci 3997db96d56Sopenharmony_ciexit: 4007db96d56Sopenharmony_ci return return_value; 4017db96d56Sopenharmony_ci} 4027db96d56Sopenharmony_ci 4037db96d56Sopenharmony_ciPyDoc_STRVAR(code__varname_from_oparg__doc__, 4047db96d56Sopenharmony_ci"_varname_from_oparg($self, /, oparg)\n" 4057db96d56Sopenharmony_ci"--\n" 4067db96d56Sopenharmony_ci"\n" 4077db96d56Sopenharmony_ci"(internal-only) Return the local variable name for the given oparg.\n" 4087db96d56Sopenharmony_ci"\n" 4097db96d56Sopenharmony_ci"WARNING: this method is for internal use only and may change or go away."); 4107db96d56Sopenharmony_ci 4117db96d56Sopenharmony_ci#define CODE__VARNAME_FROM_OPARG_METHODDEF \ 4127db96d56Sopenharmony_ci {"_varname_from_oparg", _PyCFunction_CAST(code__varname_from_oparg), METH_FASTCALL|METH_KEYWORDS, code__varname_from_oparg__doc__}, 4137db96d56Sopenharmony_ci 4147db96d56Sopenharmony_cistatic PyObject * 4157db96d56Sopenharmony_cicode__varname_from_oparg_impl(PyCodeObject *self, int oparg); 4167db96d56Sopenharmony_ci 4177db96d56Sopenharmony_cistatic PyObject * 4187db96d56Sopenharmony_cicode__varname_from_oparg(PyCodeObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 4197db96d56Sopenharmony_ci{ 4207db96d56Sopenharmony_ci PyObject *return_value = NULL; 4217db96d56Sopenharmony_ci static const char * const _keywords[] = {"oparg", NULL}; 4227db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "_varname_from_oparg", 0}; 4237db96d56Sopenharmony_ci PyObject *argsbuf[1]; 4247db96d56Sopenharmony_ci int oparg; 4257db96d56Sopenharmony_ci 4267db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf); 4277db96d56Sopenharmony_ci if (!args) { 4287db96d56Sopenharmony_ci goto exit; 4297db96d56Sopenharmony_ci } 4307db96d56Sopenharmony_ci oparg = _PyLong_AsInt(args[0]); 4317db96d56Sopenharmony_ci if (oparg == -1 && PyErr_Occurred()) { 4327db96d56Sopenharmony_ci goto exit; 4337db96d56Sopenharmony_ci } 4347db96d56Sopenharmony_ci return_value = code__varname_from_oparg_impl(self, oparg); 4357db96d56Sopenharmony_ci 4367db96d56Sopenharmony_ciexit: 4377db96d56Sopenharmony_ci return return_value; 4387db96d56Sopenharmony_ci} 4397db96d56Sopenharmony_ci/*[clinic end generated code: output=9c521b6c79f90ff7 input=a9049054013a1b77]*/ 440