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__
........
This commit is contained in:
Benjamin Peterson 2009-05-16 21:55:24 +00:00
parent 188789d8f4
commit 88fe5f9776
3 changed files with 25 additions and 39 deletions

View file

@ -598,14 +598,6 @@ type___instancecheck__(PyObject *type, PyObject *inst)
}
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)
{
@ -619,13 +611,6 @@ type___subclasscheck__(PyObject *type, PyObject *inst)
}
}
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 @@ static PyGetSetDef type_getsets[] = {
(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 @@ static PyMethodDef type_methods[] = {
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}
};