mirror of https://github.com/python/cpython
gh-117764: Add docstrings and signatures for the types of None, Ellipsis and NotImplemented (GH-117813)
This commit is contained in:
parent
39a6b29756
commit
2d3d9b4461
|
@ -1687,10 +1687,10 @@ class ClassPropertiesAndMethods(unittest.TestCase):
|
||||||
self.assertEqual(d.foo(1), (d, 1))
|
self.assertEqual(d.foo(1), (d, 1))
|
||||||
self.assertEqual(D.foo(d, 1), (d, 1))
|
self.assertEqual(D.foo(d, 1), (d, 1))
|
||||||
sm = staticmethod(None)
|
sm = staticmethod(None)
|
||||||
self.assertEqual(sm.__dict__, {'__doc__': None})
|
self.assertEqual(sm.__dict__, {'__doc__': None.__doc__})
|
||||||
sm.x = 42
|
sm.x = 42
|
||||||
self.assertEqual(sm.x, 42)
|
self.assertEqual(sm.x, 42)
|
||||||
self.assertEqual(sm.__dict__, {"x" : 42, '__doc__': None})
|
self.assertEqual(sm.__dict__, {"x" : 42, '__doc__': None.__doc__})
|
||||||
del sm.x
|
del sm.x
|
||||||
self.assertNotHasAttr(sm, "x")
|
self.assertNotHasAttr(sm, "x")
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ class TestRlcompleter(unittest.TestCase):
|
||||||
if x.startswith('s')])
|
if x.startswith('s')])
|
||||||
self.assertEqual(self.stdcompleter.attr_matches('tuple.foospamegg'), [])
|
self.assertEqual(self.stdcompleter.attr_matches('tuple.foospamegg'), [])
|
||||||
expected = sorted({'None.%s%s' % (x,
|
expected = sorted({'None.%s%s' % (x,
|
||||||
'()' if x == '__init_subclass__'
|
'()' if x in ('__init_subclass__', '__class__')
|
||||||
else '' if x == '__doc__'
|
else '' if x == '__doc__'
|
||||||
else '(')
|
else '(')
|
||||||
for x in dir(None)})
|
for x in dir(None)})
|
||||||
|
|
|
@ -2007,6 +2007,11 @@ static PyNumberMethods none_as_number = {
|
||||||
0, /* nb_index */
|
0, /* nb_index */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
PyDoc_STRVAR(none_doc,
|
||||||
|
"NoneType()\n"
|
||||||
|
"--\n\n"
|
||||||
|
"The type of the None singleton.");
|
||||||
|
|
||||||
PyTypeObject _PyNone_Type = {
|
PyTypeObject _PyNone_Type = {
|
||||||
PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
||||||
"NoneType",
|
"NoneType",
|
||||||
|
@ -2028,7 +2033,7 @@ PyTypeObject _PyNone_Type = {
|
||||||
0, /*tp_setattro */
|
0, /*tp_setattro */
|
||||||
0, /*tp_as_buffer */
|
0, /*tp_as_buffer */
|
||||||
Py_TPFLAGS_DEFAULT, /*tp_flags */
|
Py_TPFLAGS_DEFAULT, /*tp_flags */
|
||||||
0, /*tp_doc */
|
none_doc, /*tp_doc */
|
||||||
0, /*tp_traverse */
|
0, /*tp_traverse */
|
||||||
0, /*tp_clear */
|
0, /*tp_clear */
|
||||||
_Py_BaseObject_RichCompare, /*tp_richcompare */
|
_Py_BaseObject_RichCompare, /*tp_richcompare */
|
||||||
|
@ -2106,6 +2111,11 @@ static PyNumberMethods notimplemented_as_number = {
|
||||||
.nb_bool = notimplemented_bool,
|
.nb_bool = notimplemented_bool,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
PyDoc_STRVAR(notimplemented_doc,
|
||||||
|
"NotImplementedType()\n"
|
||||||
|
"--\n\n"
|
||||||
|
"The type of the NotImplemented singleton.");
|
||||||
|
|
||||||
PyTypeObject _PyNotImplemented_Type = {
|
PyTypeObject _PyNotImplemented_Type = {
|
||||||
PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
||||||
"NotImplementedType",
|
"NotImplementedType",
|
||||||
|
@ -2127,7 +2137,7 @@ PyTypeObject _PyNotImplemented_Type = {
|
||||||
0, /*tp_setattro */
|
0, /*tp_setattro */
|
||||||
0, /*tp_as_buffer */
|
0, /*tp_as_buffer */
|
||||||
Py_TPFLAGS_DEFAULT, /*tp_flags */
|
Py_TPFLAGS_DEFAULT, /*tp_flags */
|
||||||
0, /*tp_doc */
|
notimplemented_doc, /*tp_doc */
|
||||||
0, /*tp_traverse */
|
0, /*tp_traverse */
|
||||||
0, /*tp_clear */
|
0, /*tp_clear */
|
||||||
0, /*tp_richcompare */
|
0, /*tp_richcompare */
|
||||||
|
|
|
@ -57,6 +57,11 @@ static PyMethodDef ellipsis_methods[] = {
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
PyDoc_STRVAR(ellipsis_doc,
|
||||||
|
"ellipsis()\n"
|
||||||
|
"--\n\n"
|
||||||
|
"The type of the Ellipsis singleton.");
|
||||||
|
|
||||||
PyTypeObject PyEllipsis_Type = {
|
PyTypeObject PyEllipsis_Type = {
|
||||||
PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
||||||
"ellipsis", /* tp_name */
|
"ellipsis", /* tp_name */
|
||||||
|
@ -78,7 +83,7 @@ PyTypeObject PyEllipsis_Type = {
|
||||||
0, /* tp_setattro */
|
0, /* tp_setattro */
|
||||||
0, /* tp_as_buffer */
|
0, /* tp_as_buffer */
|
||||||
Py_TPFLAGS_DEFAULT, /* tp_flags */
|
Py_TPFLAGS_DEFAULT, /* tp_flags */
|
||||||
0, /* tp_doc */
|
ellipsis_doc, /* tp_doc */
|
||||||
0, /* tp_traverse */
|
0, /* tp_traverse */
|
||||||
0, /* tp_clear */
|
0, /* tp_clear */
|
||||||
0, /* tp_richcompare */
|
0, /* tp_richcompare */
|
||||||
|
|
Loading…
Reference in New Issue