Author: Ronan Lamy <ronan.l...@gmail.com> Branch: Changeset: r73758:632b7f08e536 Date: 2014-10-02 04:36 +0100 http://bitbucket.org/pypy/pypy/changeset/632b7f08e536/
Log: remove some unnecessary magic diff --git a/rpython/translator/c/node.py b/rpython/translator/c/node.py --- a/rpython/translator/c/node.py +++ b/rpython/translator/c/node.py @@ -11,7 +11,7 @@ from rpython.translator.c.primitive import PrimitiveType, name_signed from rpython.rlib import exports from rpython.rlib.rfloat import isfinite, isinf -from rpython.translator.c import extfunc + def needs_gcheader(T): if not isinstance(T, ContainerType): @@ -23,22 +23,15 @@ return False # gcheader already in the first field return True -class defaultproperty(object): - def __init__(self, fget): - self.fget = fget - def __get__(self, obj, cls=None): - if obj is None: - return self - else: - return self.fget(obj) - class Node(object): __slots__ = ("db", ) + def __init__(self, db): self.db = db class NodeWithDependencies(Node): __slots__ = ("dependencies", ) + def __init__(self, db): Node.__init__(self, db) self.dependencies = set() @@ -108,9 +101,9 @@ else: typename = db.gettype(T, who_asks=self) self.fields.append((self.c_struct_field_name(name), typename)) - self.gcinfo # force it to be computed + self.computegcinfo(self.db) - def computegcinfo(self): + def computegcinfo(self, db): # let the gcpolicy do its own setup self.gcinfo = None # unless overwritten below rtti = None @@ -121,9 +114,8 @@ except ValueError: pass if self.varlength is None: - self.db.gcpolicy.struct_setup(self, rtti) + db.gcpolicy.struct_setup(self, rtti) return self.gcinfo - gcinfo = defaultproperty(computegcinfo) def gettype(self): return self.fulltypename @@ -219,7 +211,7 @@ return # setup() was already called, likely by __init__ db = self.db ARRAY = self.ARRAY - self.gcinfo # force it to be computed + self.computegcinfo(db) if self.varlength is not None: self.normalizedtypename = db.gettype(ARRAY, who_asks=self) if needs_gcheader(ARRAY): @@ -229,13 +221,12 @@ self.gcfields.append(gc_field) self.itemtypename = db.gettype(ARRAY.OF, who_asks=self) - def computegcinfo(self): + def computegcinfo(self, db): # let the gcpolicy do its own setup self.gcinfo = None # unless overwritten below if self.varlength is None: self.db.gcpolicy.array_setup(self) return self.gcinfo - gcinfo = defaultproperty(computegcinfo) def gettype(self): return self.fulltypename _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit