Mercurial > pidgin
comparison libpurple/dbus-analyze-functions.py @ 23143:2012a85f8507
Update the dbus-analyze script to deal with multiline function
definitions of the following form:
type *
function(parameterlist);
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Tue, 13 May 2008 00:27:36 +0000 |
parents | 7ec5b5724a05 |
children | 7493462e6959 |
comparison
equal
deleted
inserted
replaced
23141:d0ee799828d1 | 23143:2012a85f8507 |
---|---|
481 | 481 |
482 def __init__(self, inputfile, fprefix): | 482 def __init__(self, inputfile, fprefix): |
483 self.inputiter = iter(inputfile) | 483 self.inputiter = iter(inputfile) |
484 self.functionregexp = \ | 484 self.functionregexp = \ |
485 re.compile("^%s(\w[^()]*)\(([^()]*)\)\s*;\s*$" % fprefix) | 485 re.compile("^%s(\w[^()]*)\(([^()]*)\)\s*;\s*$" % fprefix) |
486 self.typeregexp = re.compile("^\w+\s*\*?\s*$") | |
486 | 487 |
487 | 488 |
488 | 489 |
489 def process(self): | 490 def process(self): |
490 print "/* Generated by %s. Do not edit! */" % sys.argv[0] | 491 print "/* Generated by %s. Do not edit! */" % sys.argv[0] |
499 continue | 500 continue |
500 | 501 |
501 # accumulate lines until the parentheses are balance or an | 502 # accumulate lines until the parentheses are balance or an |
502 # empty line has been encountered | 503 # empty line has been encountered |
503 myline = line.strip() | 504 myline = line.strip() |
504 while myline.count("(") > myline.count(")"): | 505 while (myline.count("(") > myline.count(")")) or self.typeregexp.match(myline): |
505 newline = self.inputiter.next().strip() | 506 newline = self.inputiter.next().strip() |
506 if len(newline) == 0: | 507 if len(newline) == 0: |
507 break | 508 break |
508 myline += " " + newline | 509 myline += " " + newline |
509 | 510 |