Thread: [Python-gtkextra-commits] CVS: python-gtkextra/codegen definitions.py,1.1.1.1,1.2 defsparser.py,1.1.
Status: Beta
Brought to you by:
treeves
From: <pyt...@li...> - 2002-01-04 10:48:15
|
Update of /cvsroot/python-gtkextra/python-gtkextra/codegen In directory usw-pr-cvs1:/tmp/cvs-serv24561 Modified Files: definitions.py defsparser.py scmexpr.py Log Message: Updated to new version from pygtk-1.99.6. Index: definitions.py =================================================================== RCS file: /cvsroot/python-gtkextra/python-gtkextra/codegen/definitions.py,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** definitions.py 2001/09/15 18:52:30 1.1.1.1 --- definitions.py 2002/01/04 10:48:13 1.2 *************** *** 181,184 **** --- 181,185 ---- class MethodDef(Definition): def __init__(self, name, *args): + dump = 0 self.name = name self.ret = None *************** *** 188,191 **** --- 189,193 ---- self.params = [] # of form (type, name, default, nullok) self.varargs = 0 + self.deprecated = None for arg in args: if type(arg) != type(()) or len(arg) < 2: *************** *** 213,216 **** --- 215,231 ---- elif arg[0] == 'varargs': self.varargs = arg[1] in ('t', '#t') + elif arg[0] == 'deprecated': + self.deprecated = arg[1] + else: + sys.stderr.write("Warning: %s argument unsupported.\n" + % (arg[0])) + dump = 1 + if dump: + self.write_defs(sys.stderr) + for item in ('c_name', 'of_object'): + if self.__dict__[item] == None: + self.write_defs(sys.stderr) + raise RuntimeError, "definition missing required %s" % (item,) + def merge(self, old): # here we merge extra parameter flags accross to the new object. *************** *** 231,234 **** --- 246,251 ---- if self.ret: fp.write(' (return-type "' + self.ret + '")\n') + if self.deprecated: + fp.write(' (deprecated "' + self.deprecated + '")\n') if self.params: fp.write(' (parameters\n') *************** *** 243,246 **** --- 260,264 ---- class FunctionDef(Definition): def __init__(self, name, *args): + dump = 0 self.name = name self.in_module = None *************** *** 251,254 **** --- 269,273 ---- self.params = [] # of form (type, name, default, nullok) self.varargs = 0 + self.deprecated = None for arg in args: if type(arg) != type(()) or len(arg) < 2: *************** *** 278,282 **** --- 297,315 ---- elif arg[0] == 'varargs': self.varargs = arg[1] in ('t', '#t') + elif arg[0] == 'deprecated': + self.deprecated = arg[1] + else: + sys.stderr.write("Warning: %s argument unsupported\n" + % (arg[0],)) + dump = 1 + if dump: + self.write_defs(sys.stderr) + for item in ('c_name',): + if self.__dict__[item] == None: + self.write_defs(sys.stderr) + raise RuntimeError, "definition missing required %s" % (item,) + _method_write_defs = MethodDef.__dict__['write_defs'] + def merge(self, old): # here we merge extra parameter flags accross to the new object. *************** *** 288,292 **** break if not self.is_constructor_of: ! self.is_constructor_of = old.is_constructor_of if isinstance(old, MethodDef): self.name = old.name --- 321,328 ---- break if not self.is_constructor_of: ! try: ! self.is_constructor_of = old.is_constructor_of ! except AttributeError: ! pass if isinstance(old, MethodDef): self.name = old.name *************** *** 307,310 **** --- 343,348 ---- if self.ret: fp.write(' (return-type "' + self.ret + '")\n') + if self.deprecated: + fp.write(' (deprecated "' + self.deprecated + '")\n') if self.params: fp.write(' (parameters\n') Index: defsparser.py =================================================================== RCS file: /cvsroot/python-gtkextra/python-gtkextra/codegen/defsparser.py,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** defsparser.py 2001/09/15 18:52:30 1.1.1.1 --- defsparser.py 2002/01/04 10:48:13 1.2 *************** *** 55,66 **** self.functions.append(mdef) self.c_name[mdef.c_name] = mdef - def merge(self, old): for obj in self.objects: ! if old.c_name.has_key(obj.c_name): ! obj.merge(old.c_name[obj.c_name]) for f in self.functions: ! if old.c_name.has_key(f.c_name): ! f.merge(old.c_name[f.c_name]) def write_defs(self, fp=sys.stdout): --- 55,72 ---- self.functions.append(mdef) self.c_name[mdef.c_name] = mdef def merge(self, old): + for obj in self.objects: + if old.c_name.has_key(obj.c_name): + obj.merge(old.c_name[obj.c_name]) + for f in self.functions: + if old.c_name.has_key(f.c_name): + f.merge(old.c_name[f.c_name]) + def printMissing(self, old): for obj in self.objects: ! if not old.c_name.has_key(obj.c_name): ! obj.write_defs() for f in self.functions: ! if not old.c_name.has_key(f.c_name): ! f.write_defs() def write_defs(self, fp=sys.stdout): Index: scmexpr.py =================================================================== RCS file: /cvsroot/python-gtkextra/python-gtkextra/codegen/scmexpr.py,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** scmexpr.py 2001/09/15 18:52:28 1.1.1.1 --- scmexpr.py 2002/01/04 10:48:13 1.2 *************** *** 72,77 **** else: raise TypeError, 'second arg must be string, tuple or file' ! def startParsing(self, tuples=None): ! if tuples == None: tuples = self.parseTree for tup in tuples: self.handle(tup) --- 72,82 ---- else: raise TypeError, 'second arg must be string, tuple or file' ! def startParsing(self, arg=None): ! if type(arg) == types.StringType: ! tuples = parse(open(arg)) ! elif arg: ! tuples = arg ! else: ! tuples = self.parseTree for tup in tuples: self.handle(tup) |