Explicitly declare class name when registering classes

This commit is contained in:
Siu Kwan Lam 2013-01-28 15:19:16 -06:00
commit 0168315076
2 changed files with 6 additions and 6 deletions

View file

@ -112,7 +112,7 @@ class Class(_Type):
bases = 'capsule.Wrapper' bases = 'capsule.Wrapper'
if self.bases: if self.bases:
bases = ', '.join(x.name for x in self.bases) bases = ', '.join(x.name for x in self.bases)
writer.println('@capsule.register_class') writer.println('@capsule.register_class("%s")' % self.fullname)
with writer.block('class %(clsname)s(%(bases)s):' % locals()): with writer.block('class %(clsname)s(%(bases)s):' % locals()):
writer.println('_llvm_type_ = "%s"' % self.fullname) writer.println('_llvm_type_ = "%s"' % self.fullname)
for enum in self.enums: for enum in self.enums:
@ -151,7 +151,6 @@ class Class(_Type):
writer.die_if_false(casted) writer.die_if_false(casted)
return casted return casted
class Enum(object): class Enum(object):
def __init__(self, *value_names): def __init__(self, *value_names):
self.parent = None self.parent = None

View file

@ -99,10 +99,11 @@ def unwrap(obj):
return obj return obj
def register_class(cls): def register_class(clsname):
clsname = cls.__name__ def _wrapped(cls):
_pyclasses['llvm::%s' % clsname] = cls _pyclasses[clsname] = cls
return cls return cls
return _wrapped
class Wrapper(object): class Wrapper(object):