Lines Matching refs:mro
79 classes, mro, or attributes of the type are altered.
119 Check that all base classes or elements of the mro of type are
121 classes or mro of the type are altered.
125 appears in the MRO of a new-style class. No support either for
130 each subclass when their mro is recursively updated.
521 PyObject* mro;
523 "", 2, 2, &cls, &mro);
524 Py_INCREF(mro);
526 cls->tp_mro = mro;
1168 PyObject *mro;
1173 mro = a->tp_mro;
1174 if (mro != NULL) {
1176 by walking the MRO tuple */
1178 assert(PyTuple_Check(mro));
1179 n = PyTuple_GET_SIZE(mro);
1181 if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
1332 fill_classic_mro(PyObject *mro, PyObject *cls)
1337 assert(PyList_Check(mro));
1339 i = PySequence_Contains(mro, cls);
1343 if (PyList_Append(mro, cls) < 0)
1351 if (fill_classic_mro(mro, base) < 0)
1360 PyObject *mro;
1363 mro = PyList_New(0);
1364 if (mro != NULL) {
1365 if (fill_classic_mro(mro, cls) == 0)
1366 return mro;
1367 Py_DECREF(mro);
1387 If A precedes B in C's MRO, then A will precede B in the MRO of all
1391 The MRO of a class must be an extension without reordering of the
1392 MRO of each of its superclasses.
1454 /* Raise a TypeError for an MRO order disagreement.
1458 to be put next into the MRO. There is some conflict between the
1459 order in which they should be put in the MRO, but it's hard to
1486 consistent method resolution\norder (MRO) for bases");
1532 /* Choose next candidate for MRO.
1535 If not, choose the class which appears in the MRO
1656 PyObject *mro, *result, *tuple;
1665 mro = lookup_method((PyObject *)type, "mro", &mro_str);
1666 if (mro == NULL)
1668 result = PyObject_CallObject(mro, NULL);
1669 Py_DECREF(mro);
1693 "mro
1701 "mro() returned base with unsuitable layout ('%.500s')",
1712 from the custom MRO */
2523 /* Internal API to look for a name through the MRO.
2529 PyObject *mro, *res, *base, *dict;
2545 /* Look in tp_dict of types in MRO */
2546 mro = type->tp_mro;
2548 if (mro == NULL) {
2562 mro = type->tp_mro;
2563 if (mro == NULL) {
2569 assert(PyTuple_Check(mro));
2570 n = PyTuple_GET_SIZE(mro);
2572 base = PyTuple_GET_ITEM(mro, i);
2756 {"mro", (PyCFunction)mro_external, METH_NOARGS,
2757 PyDoc_STR("mro() -> list\nreturn a type's method resolution order")},
6300 __new__ in the MRO which will call tp_new_wrapper
6606 PyObject *mro, *res, *tmp, *dict;
6612 mro = starttype->tp_mro;
6614 if (mro == NULL)
6617 assert(PyTuple_Check(mro));
6618 n = PyTuple_GET_SIZE(mro);
6621 if ((PyObject *)(su->type) == PyTuple_GET_ITEM(mro, i))
6627 tmp = PyTuple_GET_ITEM(mro, i);