Document CodeType.replace (GH-17776)

This commit is contained in:
Anthony Sottile 2020-01-01 01:11:16 -05:00 committed by Pablo Galindo
parent 37143a8e3b
commit 22424c02e5
3 changed files with 11 additions and 5 deletions

View File

@ -132,7 +132,7 @@ Standard names are defined for the following types:
.. versionadded:: 3.6 .. versionadded:: 3.6
.. data:: CodeType .. class:: CodeType(**kwargs)
.. index:: builtin: compile .. index:: builtin: compile
@ -143,6 +143,12 @@ Standard names are defined for the following types:
Note that the audited arguments may not match the names or positions Note that the audited arguments may not match the names or positions
required by the initializer. required by the initializer.
.. method:: CodeType.replace(**kwargs)
Return a copy of the code object with new values for the specified fields.
.. versionadded:: 3.8
.. data:: CellType .. data:: CellType
The type for cell objects: such objects are used as containers for The type for cell objects: such objects are used as containers for

View File

@ -11,7 +11,7 @@ PyDoc_STRVAR(code_replace__doc__,
" co_lnotab=None)\n" " co_lnotab=None)\n"
"--\n" "--\n"
"\n" "\n"
"Return a new code object with new specified fields."); "Return a copy of the code object with new values for the specified fields.");
#define CODE_REPLACE_METHODDEF \ #define CODE_REPLACE_METHODDEF \
{"replace", (PyCFunction)(void(*)(void))code_replace, METH_FASTCALL|METH_KEYWORDS, code_replace__doc__}, {"replace", (PyCFunction)(void(*)(void))code_replace, METH_FASTCALL|METH_KEYWORDS, code_replace__doc__},
@ -253,4 +253,4 @@ skip_optional_kwonly:
exit: exit:
return return_value; return return_value;
} }
/*[clinic end generated code: output=fade581d6313a0c2 input=a9049054013a1b77]*/ /*[clinic end generated code: output=27fe34e82106b220 input=a9049054013a1b77]*/

View File

@ -610,7 +610,7 @@ code.replace
co_name: unicode(c_default="self->co_name") = None co_name: unicode(c_default="self->co_name") = None
co_lnotab: PyBytesObject(c_default="(PyBytesObject *)self->co_lnotab") = None co_lnotab: PyBytesObject(c_default="(PyBytesObject *)self->co_lnotab") = None
Return a new code object with new specified fields. Return a copy of the code object with new values for the specified fields.
[clinic start generated code]*/ [clinic start generated code]*/
static PyObject * static PyObject *
@ -622,7 +622,7 @@ code_replace_impl(PyCodeObject *self, int co_argcount,
PyObject *co_varnames, PyObject *co_freevars, PyObject *co_varnames, PyObject *co_freevars,
PyObject *co_cellvars, PyObject *co_filename, PyObject *co_cellvars, PyObject *co_filename,
PyObject *co_name, PyBytesObject *co_lnotab) PyObject *co_name, PyBytesObject *co_lnotab)
/*[clinic end generated code: output=25c8e303913bcace input=77189e46579ec426]*/ /*[clinic end generated code: output=25c8e303913bcace input=d9051bc8f24e6b28]*/
{ {
#define CHECK_INT_ARG(ARG) \ #define CHECK_INT_ARG(ARG) \
if (ARG < 0) { \ if (ARG < 0) { \