root/trunk/infrastructure/pyd/generators/argtypes.py

Revision 24, 0.7 kB (checked in by KirkMcDonald, 2 years ago)

CeleriD/Pyd? integration.

Line 
1 MAX_ARGS = 10
2
3 import sys
4 old_stdout = sys.stdout
5 sys.stdout = open('argtypes.txt', 'w')
6
7 def arglist(n):
8     parts = []
9     for i in range(n):
10         parts.append(', A%s' % i)
11     return "".join(parts)
12
13 def typeidList(n):
14     parts = []
15     for i in range(n):
16         parts.append('typeid(A%s)' % i)
17     return ", ".join(parts)
18
19 for i in range(MAX_ARGS+1):
20     print "public"
21     print "template ArgTypes(Tr%s) {" % arglist(i)
22     print "    TypeInfo[] ArgTypes(Tr function(%s) fn) {" % arglist(i)[2:]
23     print "        return arrayOf!(TypeInfo)(%s);" % typeidList(i)
24     print "    }"
25     print "}"
26     print
27
28 sys.stdout = old_stdout
Note: See TracBrowser for help on using the browser.