+++ /dev/null
-"""Descriptions of all the slots in Python's type objects."""\r
-\r
-class Slot(object):\r
- def __init__(self, name, cast=None, special=None, default="0"):\r
- self.name = name\r
- self.cast = cast\r
- self.special = special\r
- self.default = default\r
-\r
-Slots = (Slot("ob_size"),\r
- Slot("tp_name"),\r
- Slot("tp_basicsize"),\r
- Slot("tp_itemsize"),\r
- Slot("tp_dealloc", "destructor"),\r
- Slot("tp_print", "printfunc"),\r
- Slot("tp_getattr", "getattrfunc"),\r
- Slot("tp_setattr", "setattrfunc"),\r
- Slot("tp_compare", "cmpfunc", "__cmp__"),\r
- Slot("tp_repr", "reprfunc", "__repr__"),\r
- Slot("tp_as_number"),\r
- Slot("tp_as_sequence"),\r
- Slot("tp_as_mapping"),\r
- Slot("tp_hash", "hashfunc", "__hash__"),\r
- Slot("tp_call", "ternaryfunc", "__call__"),\r
- Slot("tp_str", "reprfunc", "__str__"),\r
- Slot("tp_getattro", "getattrofunc", "__getattr__", # XXX\r
- "PyObject_GenericGetAttr"),\r
- Slot("tp_setattro", "setattrofunc", "__setattr__"),\r
- Slot("tp_as_buffer"),\r
- Slot("tp_flags", default="Py_TPFLAGS_DEFAULT"),\r
- Slot("tp_doc"),\r
- Slot("tp_traverse", "traverseprox"),\r
- Slot("tp_clear", "inquiry"),\r
- Slot("tp_richcompare", "richcmpfunc"),\r
- Slot("tp_weaklistoffset"),\r
- Slot("tp_iter", "getiterfunc", "__iter__"),\r
- Slot("tp_iternext", "iternextfunc", "__next__"), # XXX\r
- Slot("tp_methods"),\r
- Slot("tp_members"),\r
- Slot("tp_getset"),\r
- Slot("tp_base"),\r
- Slot("tp_dict"),\r
- Slot("tp_descr_get", "descrgetfunc"),\r
- Slot("tp_descr_set", "descrsetfunc"),\r
- Slot("tp_dictoffset"),\r
- Slot("tp_init", "initproc", "__init__"),\r
- Slot("tp_alloc", "allocfunc"),\r
- Slot("tp_new", "newfunc"),\r
- Slot("tp_free", "freefunc"),\r
- Slot("tp_is_gc", "inquiry"),\r
- Slot("tp_bases"),\r
- Slot("tp_mro"),\r
- Slot("tp_cache"),\r
- Slot("tp_subclasses"),\r
- Slot("tp_weaklist"),\r
- )\r
-\r
-# give some slots symbolic names\r
-TP_NAME = Slots[1]\r
-TP_BASICSIZE = Slots[2]\r
-TP_DEALLOC = Slots[4]\r
-TP_DOC = Slots[20]\r
-TP_METHODS = Slots[27]\r
-TP_MEMBERS = Slots[28]\r