Mercurial > cpython-lru_cache-weakref
view Objects/typeslots.py @ 78069:a8aa77458e12 3.2
Add c_size_t and c_ssize_t to the ctypes summary table.
| author | Antoine Pitrou <solipsis@pitrou.net> |
|---|---|
| date | Thu, 12 Jul 2012 20:31:50 +0200 |
| parents | 020da9b87daa |
| children | f3553d5083f8 |
line wrap: on
line source
#!/usr/bin/python # Usage: typeslots.py < Include/typeslots.h > typeslots.inc import sys, re print("/* Generated by typeslots.py $Revision$ */") res = {} for line in sys.stdin: m = re.match("#define Py_([a-z_]+) ([0-9]+)", line) if not m: continue member = m.group(1) if member.startswith("tp_"): member = "ht_type."+member elif member.startswith("nb_"): member = "as_number."+member elif member.startswith("mp_"): member = "as_mapping."+member elif member.startswith("sq_"): member = "as_sequence."+member elif member.startswith("bf_"): member = "as_buffer."+member res[int(m.group(2))] = member M = max(res.keys())+1 for i in range(1,M): if i in res: print("offsetof(PyHeapTypeObject, %s)," % res[i]) else: print("0,")
