[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