def _setup_repr(self): clsfields = {} pbcfields = {} if self.classdef is not None: # class attributes llfields = [] """ attrs = self.classdef.attrs.items() attrs.sort() for name, attrdef in attrs: if attrdef.readonly: s_value = attrdef.s_value s_unboundmethod = self.prepare_method(s_value) if s_unboundmethod is not None: allmethods[name] = True s_value = s_unboundmethod r = self.rtyper.getrepr(s_value) mangled_name = 'cls_' + name clsfields[name] = mangled_name, r llfields.append((mangled_name, r.lowleveltype)) """ # attributes showing up in getattrs done on the class as a PBC extra_access_sets = self.rtyper.class_pbc_attributes.get( self.classdef, {}) for access_set, (attr, counter) in extra_access_sets.items(): r = self.rtyper.getrepr(access_set.s_value) mangled_name = pbcmangle('pbc%d' % counter, attr) pbcfields[access_set, attr] = mangled_name, r llfields.append((mangled_name, r.lowleveltype)) self.rbase.setup() ootype.addFields(self.lowleveltype, dict(llfields)) #self.clsfields = clsfields self.pbcfields = pbcfields self.meta_instance = None
def _setup_repr(self): pbcfields = {} if self.lowleveltype != ootype.Class: # class attributes llfields = [] # attributes showing up in getattrs done on the class as a PBC extra_access_sets = self.rtyper.class_pbc_attributes.get( self.classdef, {}) for access_set, (attr, counter) in extra_access_sets.items(): r = self.rtyper.getrepr(access_set.s_value) mangled_name = pbcmangle('pbc%d' % counter, attr) pbcfields[access_set, attr] = mangled_name, r llfields.append((mangled_name, r.lowleveltype)) self.rbase.setup() ootype.addFields(self.lowleveltype, dict(llfields)) self.pbcfields = pbcfields self.meta_instance = None