PageRenderTime 73ms CodeModel.GetById 62ms app.highlight 9ms RepoModel.GetById 1ms app.codeStats 0ms

/Tools/framer/framer/slots.py

http://unladen-swallow.googlecode.com/
Python | 64 lines | 64 code | 0 blank | 0 comment | 0 complexity | ad13eb05c7d295ce2038b07dd629cff6 MD5 | raw file
 1"""Descriptions of all the slots in Python's type objects."""
 2
 3class Slot(object):
 4    def __init__(self, name, cast=None, special=None, default="0"):
 5        self.name = name
 6        self.cast = cast
 7        self.special = special
 8        self.default = default
 9
10Slots = (Slot("ob_size"),
11         Slot("tp_name"),
12         Slot("tp_basicsize"),
13         Slot("tp_itemsize"),
14         Slot("tp_dealloc", "destructor"),
15         Slot("tp_print", "printfunc"),
16         Slot("tp_getattr", "getattrfunc"),
17         Slot("tp_setattr", "setattrfunc"),
18         Slot("tp_compare", "cmpfunc", "__cmp__"),
19         Slot("tp_repr", "reprfunc", "__repr__"),
20         Slot("tp_as_number"),
21         Slot("tp_as_sequence"),
22         Slot("tp_as_mapping"),
23         Slot("tp_hash", "hashfunc", "__hash__"),
24         Slot("tp_call", "ternaryfunc", "__call__"),
25         Slot("tp_str", "reprfunc", "__str__"),
26         Slot("tp_getattro", "getattrofunc", "__getattr__", # XXX
27              "PyObject_GenericGetAttr"),
28         Slot("tp_setattro", "setattrofunc", "__setattr__"),
29         Slot("tp_as_buffer"),
30         Slot("tp_flags", default="Py_TPFLAGS_DEFAULT"),
31         Slot("tp_doc"),
32         Slot("tp_traverse", "traverseprox"),
33         Slot("tp_clear", "inquiry"),
34         Slot("tp_richcompare", "richcmpfunc"),
35         Slot("tp_weaklistoffset"),
36         Slot("tp_iter", "getiterfunc", "__iter__"),
37         Slot("tp_iternext", "iternextfunc", "__next__"), # XXX
38         Slot("tp_methods"),
39         Slot("tp_members"),
40         Slot("tp_getset"),
41         Slot("tp_base"),
42         Slot("tp_dict"),
43         Slot("tp_descr_get", "descrgetfunc"),
44         Slot("tp_descr_set", "descrsetfunc"),
45         Slot("tp_dictoffset"),
46         Slot("tp_init", "initproc", "__init__"),
47         Slot("tp_alloc", "allocfunc"),
48         Slot("tp_new", "newfunc"),
49         Slot("tp_free", "freefunc"),
50         Slot("tp_is_gc", "inquiry"),
51         Slot("tp_bases"),
52         Slot("tp_mro"),
53         Slot("tp_cache"),
54         Slot("tp_subclasses"),
55         Slot("tp_weaklist"),
56         )
57
58# give some slots symbolic names
59TP_NAME = Slots[1]
60TP_BASICSIZE = Slots[2]
61TP_DEALLOC = Slots[4]
62TP_DOC = Slots[20]
63TP_METHODS = Slots[27]
64TP_MEMBERS = Slots[28]