[pypy-commit] pypy ffi-backend: Fix for the __base

arigo noreply at buildbot.pypy.org
Fri Jul 6 16:47:58 CEST 2012


Author: Armin Rigo <arigo at tunes.org>
Branch: ffi-backend
Changeset: r55942:b14b0bfcf5d1
Date: 2012-07-06 16:39 +0200
http://bitbucket.org/pypy/pypy/changeset/b14b0bfcf5d1/

Log:	Fix for the __base

diff --git a/pypy/module/_cffi_backend/cdataobj.py b/pypy/module/_cffi_backend/cdataobj.py
--- a/pypy/module/_cffi_backend/cdataobj.py
+++ b/pypy/module/_cffi_backend/cdataobj.py
@@ -266,7 +266,9 @@
         lltype.free(self._cdata, flavor='raw')
 
 
-common_methods = dict(
+W_CData.typedef = TypeDef(
+    '_cffi_backend.CData',
+    __repr__ = interp2app(W_CData.repr),
     __nonzero__ = interp2app(W_CData.nonzero),
     __int__ = interp2app(W_CData.int),
     __long__ = interp2app(W_CData.long),
@@ -283,20 +285,13 @@
     __getattr__ = interp2app(W_CData.getattr),
     __setattr__ = interp2app(W_CData.setattr),
     __call__ = interp2app(W_CData.call),
-)
-
-W_CData.typedef = TypeDef(
-    '_cffi_backend.CData',
-    __repr__ = interp2app(W_CData.repr),
-    **common_methods
     )
 W_CData.typedef.acceptable_as_base_class = False
 
 W_CDataApplevelOwning.typedef = TypeDef(
     '_cffi_backend.CDataOwn',
-    __base = W_CData.typedef,
+    W_CData.typedef,    # base typedef
     __repr__ = interp2app(W_CDataApplevelOwning.repr),
     __weakref__ = make_weakref_descr(W_CDataApplevelOwning),
-    **common_methods
     )
 W_CDataApplevelOwning.typedef.acceptable_as_base_class = False


More information about the pypy-commit mailing list