def __init__(self):
super().__init__("bad backref")
-class namedtype(type):
- def __new__(cls, *args, typename=None, **kwargs):
- self = super().__new__(cls, *args, **kwargs)
- self.typename = typename
- return self
-
class decoder(object):
def __init__(self):
self.reftab = []
buf[key] = self.loadtagged(fp, tag)
def makeobjtype(self, nm):
- return namedtype(str(nm), (data.obj, object), {}, typename=nm)
+ return data.namedtype(str(nm), (data.obj, object), {}, typename=nm)
def loadobj(self, fp, ref=False):
if ref:
return self.reftab[idx]
return self.addref(self.loadint(fp))
elif pri == T_STR:
- ret = self.addref(self.loadstr(fp))
+ ret = self.loadstr(fp)
if sec == STR_SYM:
- return data.symbol.get("", ret)
- return ret
+ return self.addref(data.symbol.get("", ret))
+ return self.addref(ret)
elif pri == T_BIT:
ln = self.loadint(fp)
ret = self.addref(fp.read(ln))