happens because the scanner ignores preprocessor #ifs).
def docstring(self):
return None
+ def __cmp__(self, other):
+ if not hasattr(other, 'name'):
+ return cmp(id(self), id(other))
+ return cmp(self.name, other.name)
_stringify_map = {'\n': '\\n', '\t': '\\t', '\r': '\\r', '\b': '\\b',
'\e': '\\e', '\a': '\\a', '\f': '\\f', '"': '\\"'}
self.prefix = prefix
self.generators = []
- def add(self, g):
+ def add(self, g, dupcheck=0):
+ if dupcheck:
+ if g in self.generators:
+ print 'DUP', g.name
+ return
g.setprefix(self.prefix)
self.generators.append(g)
self.static = "static " # set to "" to make <type>_New and <type>_Convert public
self.basechain = "NULL" # set to &<basetype>_chain to chain methods
- def add(self, g):
+ def add(self, g, dupcheck=0):
g.setselftype(self.objecttype, self.itselftype)
- GeneratorGroup.add(self, g)
+ GeneratorGroup.add(self, g, dupcheck)
def reference(self):
# In case we are referenced from a module