From 22424c02e51fab3b62cbe255d0b87d1b55b9a6c3 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Wed, 1 Jan 2020 01:11:16 -0500 Subject: [PATCH] Document CodeType.replace (GH-17776) --- Doc/library/types.rst | 8 +++++++- Objects/clinic/codeobject.c.h | 4 ++-- Objects/codeobject.c | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Doc/library/types.rst b/Doc/library/types.rst index 9393f9e6db9..3529c2b0edb 100644 --- a/Doc/library/types.rst +++ b/Doc/library/types.rst @@ -132,7 +132,7 @@ Standard names are defined for the following types: .. versionadded:: 3.6 -.. data:: CodeType +.. class:: CodeType(**kwargs) .. 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 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 The type for cell objects: such objects are used as containers for diff --git a/Objects/clinic/codeobject.c.h b/Objects/clinic/codeobject.c.h index 6596de051ca..1dd82278cf3 100644 --- a/Objects/clinic/codeobject.c.h +++ b/Objects/clinic/codeobject.c.h @@ -11,7 +11,7 @@ PyDoc_STRVAR(code_replace__doc__, " co_lnotab=None)\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 \ {"replace", (PyCFunction)(void(*)(void))code_replace, METH_FASTCALL|METH_KEYWORDS, code_replace__doc__}, @@ -253,4 +253,4 @@ skip_optional_kwonly: exit: return return_value; } -/*[clinic end generated code: output=fade581d6313a0c2 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=27fe34e82106b220 input=a9049054013a1b77]*/ diff --git a/Objects/codeobject.c b/Objects/codeobject.c index f0b62ec9414..522e1a9f2a4 100644 --- a/Objects/codeobject.c +++ b/Objects/codeobject.c @@ -610,7 +610,7 @@ code.replace co_name: unicode(c_default="self->co_name") = 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]*/ static PyObject * @@ -622,7 +622,7 @@ code_replace_impl(PyCodeObject *self, int co_argcount, PyObject *co_varnames, PyObject *co_freevars, PyObject *co_cellvars, PyObject *co_filename, 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) \ if (ARG < 0) { \