Lines Matching defs:cls

2477  * 1. getattr(cls, '__bases__') could raise an AttributeError
2478 * 2. getattr(cls, '__bases__') could raise some other exception
2479 * 3. getattr(cls, '__bases__') could return a tuple
2480 * 4. getattr(cls, '__bases__') could return something other than a tuple
2500 abstract_get_bases(PyObject *cls)
2504 (void)_PyObject_LookupAttr(cls, &_Py_ID(__bases__), &bases);
2514 abstract_issubclass(PyObject *derived, PyObject *cls)
2521 if (derived == cls) {
2554 r = abstract_issubclass(PyTuple_GET_ITEM(bases, i), cls);
2565 check_class(PyObject *cls, const char *error)
2567 PyObject *bases = abstract_get_bases(cls);
2581 object_isinstance(PyObject *inst, PyObject *cls)
2585 if (PyType_Check(cls)) {
2586 retval = PyObject_TypeCheck(inst, (PyTypeObject *)cls);
2593 (PyTypeObject *)cls);
2603 if (!check_class(cls,
2608 retval = abstract_issubclass(icls, cls);
2617 object_recursive_isinstance(PyThreadState *tstate, PyObject *inst, PyObject *cls)
2620 if (Py_IS_TYPE(inst, (PyTypeObject *)cls)) {
2625 if (PyType_CheckExact(cls)) {
2626 return object_isinstance(inst, cls);
2629 if (_PyUnion_Check(cls)) {
2630 cls = _Py_union_args(cls);
2633 if (PyTuple_Check(cls)) {
2639 Py_ssize_t n = PyTuple_GET_SIZE(cls);
2642 PyObject *item = PyTuple_GET_ITEM(cls, i);
2653 PyObject *checker = _PyObject_LookupSpecial(cls, &_Py_ID(__instancecheck__));
2676 /* cls has no __instancecheck__() method */
2677 return object_isinstance(inst, cls);
2682 PyObject_IsInstance(PyObject *inst, PyObject *cls)
2685 return object_recursive_isinstance(tstate, inst, cls);
2690 recursive_issubclass(PyObject *derived, PyObject *cls)
2692 if (PyType_Check(cls) && PyType_Check(derived)) {
2694 return PyType_IsSubtype((PyTypeObject *)derived, (PyTypeObject *)cls);
2700 if (!_PyUnion_Check(cls) && !check_class(cls,
2706 return abstract_issubclass(derived, cls);
2710 object_issubclass(PyThreadState *tstate, PyObject *derived, PyObject *cls)
2715 if (PyType_CheckExact(cls)) {
2717 if (derived == cls)
2719 return recursive_issubclass(derived, cls);
2722 if (_PyUnion_Check(cls)) {
2723 cls = _Py_union_args(cls);
2726 if (PyTuple_Check(cls)) {
2731 Py_ssize_t n = PyTuple_GET_SIZE(cls);
2734 PyObject *item = PyTuple_GET_ITEM(cls, i);
2744 checker = _PyObject_LookupSpecial(cls, &_Py_ID(__subclasscheck__));
2765 return recursive_issubclass(derived, cls);
2770 PyObject_IsSubclass(PyObject *derived, PyObject *cls)
2773 return object_issubclass(tstate, derived, cls);
2778 _PyObject_RealIsInstance(PyObject *inst, PyObject *cls)
2780 return object_isinstance(inst, cls);
2784 _PyObject_RealIsSubclass(PyObject *derived, PyObject *cls)
2786 return recursive_issubclass(derived, cls);