diff options
Diffstat (limited to 'Objects/typeslots.py')
-rw-r--r-- | Objects/typeslots.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Objects/typeslots.py b/Objects/typeslots.py new file mode 100644 index 00000000000..bcc3196bdfe --- /dev/null +++ b/Objects/typeslots.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# Usage: typeslots.py < Include/typeslots.h > typeslots.inc + +import sys, re + +res = {} +for line in sys.stdin: + m = re.match("#define Py_([a-z_]+) ([0-9]+)", line) + 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): + print "offsetof(PyHeapTypeObject, %s)," % res[i] |