Lines Matching defs:meta
95 PyObject *cls = NULL, *cell = NULL, *ns = NULL, *meta = NULL, *orig_bases = NULL;
127 meta = NULL;
136 meta = _PyDict_GetItemWithError(mkw, &_Py_ID(metaclass));
137 if (meta != NULL) {
138 Py_INCREF(meta);
143 isclass = PyType_Check(meta);
149 if (meta == NULL) {
152 meta = (PyObject *) (&PyType_Type);
157 meta = (PyObject *)Py_TYPE(base0);
159 Py_INCREF(meta);
160 isclass = 1; /* meta is really a class */
164 /* meta is really a class, so check for a more derived
166 winner = (PyObject *)_PyType_CalculateMetaclass((PyTypeObject *)meta,
171 if (winner != meta) {
172 Py_DECREF(meta);
173 meta = winner;
174 Py_INCREF(meta);
177 /* else: meta is not a class, so we cannot do the metaclass
179 if (_PyObject_LookupAttr(meta, &_Py_ID(__prepare__), &prep) < 0) {
196 isclass ? ((PyTypeObject *)meta)->tp_name : "<metaclass>",
209 cls = PyObject_VectorcallDict(meta, margs, 3, mkw);
232 Py_XDECREF(meta);