Mercurial > cpython-lru_cache-weakref
diff Objects/typeobject.c @ 54119:f9f997c1fd81
Merged revisions 72690 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72690 | benjamin.peterson | 2009-05-16 16:44:25 -0500 (Sat, 16 May 2009) | 1 line
properly lookup __instancecheck__ and __subclasscheck__
........
| author | Benjamin Peterson <benjamin@python.org> |
|---|---|
| date | Sat, 16 May 2009 21:55:24 +0000 |
| parents | 2993f049e2c9 |
| children | f48a05214281 |
line wrap: on
line diff
--- a/Objects/typeobject.c Sat May 16 18:37:32 2009 +0000 +++ b/Objects/typeobject.c Sat May 16 21:55:24 2009 +0000 @@ -599,14 +599,6 @@ static PyObject * -type_get_instancecheck(PyObject *type, void *context) -{ - static PyMethodDef ml = {"__instancecheck__", - type___instancecheck__, METH_O }; - return PyCFunction_New(&ml, type); -} - -static PyObject * type___subclasscheck__(PyObject *type, PyObject *inst) { switch (_PyObject_RealIsSubclass(inst, type)) { @@ -619,13 +611,6 @@ } } -static PyObject * -type_get_subclasscheck(PyObject *type, void *context) -{ - static PyMethodDef ml = {"__subclasscheck__", - type___subclasscheck__, METH_O }; - return PyCFunction_New(&ml, type); -} static PyGetSetDef type_getsets[] = { {"__name__", (getter)type_name, (setter)type_set_name, NULL}, @@ -635,8 +620,6 @@ (setter)type_set_abstractmethods, NULL}, {"__dict__", (getter)type_dict, NULL, NULL}, {"__doc__", (getter)type_get_doc, NULL, NULL}, - {"__instancecheck__", (getter)type_get_instancecheck, NULL, NULL}, - {"__subclasscheck__", (getter)type_get_subclasscheck, NULL, NULL}, {0} }; @@ -2518,6 +2501,10 @@ METH_VARARGS | METH_KEYWORDS | METH_CLASS, PyDoc_STR("__prepare__() -> dict\n" "used to create the namespace for the class statement")}, + {"__instancecheck__", type___instancecheck__, METH_O, + PyDoc_STR("__instancecheck__() -> check if an object is an instance")}, + {"__subclasscheck__", type___subclasscheck__, METH_O, + PyDoc_STR("__subclasschck__ -> check if an class is a subclass")}, {0} };
