summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2024-04-12 08:46:20 (GMT)
committerGitHub <noreply@github.com>2024-04-12 08:46:20 (GMT)
commit6e05537676da56b37ba0c9dbb459b60422918988 (patch)
tree71e57e6530ed9ab6616e6e5a66227532eb7bf6dd
parentdeb921f85173a194afb4386553d85c3f99767ca1 (diff)
downloadcpython-6e05537676da56b37ba0c9dbb459b60422918988.zip
cpython-6e05537676da56b37ba0c9dbb459b60422918988.tar.gz
cpython-6e05537676da56b37ba0c9dbb459b60422918988.tar.bz2
gh-117764: Add docstrings and signatures for the __replace__ methods (GH-117768)
-rw-r--r--Modules/_datetimemodule.c9
-rw-r--r--Objects/codeobject.c3
-rw-r--r--Objects/namespaceobject.c4
-rw-r--r--Objects/structseq.c4
4 files changed, 14 insertions, 6 deletions
diff --git a/Modules/_datetimemodule.c b/Modules/_datetimemodule.c
index 2c9ef4b..06004e2 100644
--- a/Modules/_datetimemodule.c
+++ b/Modules/_datetimemodule.c
@@ -3645,7 +3645,8 @@ static PyMethodDef date_methods[] = {
DATETIME_DATE_REPLACE_METHODDEF
- {"__replace__", _PyCFunction_CAST(datetime_date_replace), METH_FASTCALL | METH_KEYWORDS},
+ {"__replace__", _PyCFunction_CAST(datetime_date_replace), METH_FASTCALL | METH_KEYWORDS,
+ PyDoc_STR("__replace__($self, /, **changes)\n--\n\nThe same as replace().")},
{"__reduce__", (PyCFunction)date_reduce, METH_NOARGS,
PyDoc_STR("__reduce__() -> (cls, state)")},
@@ -4772,7 +4773,8 @@ static PyMethodDef time_methods[] = {
DATETIME_TIME_REPLACE_METHODDEF
- {"__replace__", _PyCFunction_CAST(datetime_time_replace), METH_FASTCALL | METH_KEYWORDS},
+ {"__replace__", _PyCFunction_CAST(datetime_time_replace), METH_FASTCALL | METH_KEYWORDS,
+ PyDoc_STR("__replace__($self, /, **changes)\n--\n\nThe same as replace().")},
{"fromisoformat", (PyCFunction)time_fromisoformat, METH_O | METH_CLASS,
PyDoc_STR("string -> time from a string in ISO 8601 format")},
@@ -6619,7 +6621,8 @@ static PyMethodDef datetime_methods[] = {
DATETIME_DATETIME_REPLACE_METHODDEF
- {"__replace__", _PyCFunction_CAST(datetime_datetime_replace), METH_FASTCALL | METH_KEYWORDS},
+ {"__replace__", _PyCFunction_CAST(datetime_datetime_replace), METH_FASTCALL | METH_KEYWORDS,
+ PyDoc_STR("__replace__($self, /, **changes)\n--\n\nThe same as replace().")},
{"astimezone", _PyCFunction_CAST(datetime_astimezone), METH_VARARGS | METH_KEYWORDS,
PyDoc_STR("tz -> convert to local time in new timezone tz\n")},
diff --git a/Objects/codeobject.c b/Objects/codeobject.c
index f14ff73..825f521 100644
--- a/Objects/codeobject.c
+++ b/Objects/codeobject.c
@@ -2170,7 +2170,8 @@ static struct PyMethodDef code_methods[] = {
{"co_positions", (PyCFunction)code_positionsiterator, METH_NOARGS},
CODE_REPLACE_METHODDEF
CODE__VARNAME_FROM_OPARG_METHODDEF
- {"__replace__", _PyCFunction_CAST(code_replace), METH_FASTCALL|METH_KEYWORDS},
+ {"__replace__", _PyCFunction_CAST(code_replace), METH_FASTCALL|METH_KEYWORDS,
+ PyDoc_STR("__replace__($self, /, **changes)\n--\n\nThe same as replace().")},
{NULL, NULL} /* sentinel */
};
diff --git a/Objects/namespaceobject.c b/Objects/namespaceobject.c
index b975bcf..a6b02fd 100644
--- a/Objects/namespaceobject.c
+++ b/Objects/namespaceobject.c
@@ -219,7 +219,9 @@ namespace_replace(PyObject *self, PyObject *args, PyObject *kwargs)
static PyMethodDef namespace_methods[] = {
{"__reduce__", (PyCFunction)namespace_reduce, METH_NOARGS,
namespace_reduce__doc__},
- {"__replace__", _PyCFunction_CAST(namespace_replace), METH_VARARGS|METH_KEYWORDS, NULL},
+ {"__replace__", _PyCFunction_CAST(namespace_replace), METH_VARARGS|METH_KEYWORDS,
+ PyDoc_STR("__replace__($self, /, **changes)\n--\n\n"
+ "Return a copy of the namespace object with new values for the specified attributes.")},
{NULL, NULL} // sentinel
};
diff --git a/Objects/structseq.c b/Objects/structseq.c
index 661d96a..ec5c5ab 100644
--- a/Objects/structseq.c
+++ b/Objects/structseq.c
@@ -453,7 +453,9 @@ error:
static PyMethodDef structseq_methods[] = {
{"__reduce__", (PyCFunction)structseq_reduce, METH_NOARGS, NULL},
- {"__replace__", _PyCFunction_CAST(structseq_replace), METH_VARARGS | METH_KEYWORDS, NULL},
+ {"__replace__", _PyCFunction_CAST(structseq_replace), METH_VARARGS | METH_KEYWORDS,
+ PyDoc_STR("__replace__($self, /, **changes)\n--\n\n"
+ "Return a copy of the structure with new values for the specified fields.")},
{NULL, NULL} // sentinel
};