[pypy-svn] r73629 - pypy/branch/cpython-extension/pypy/module/cpyext
jandem at codespeak.net
jandem at codespeak.net
Sat Apr 10 17:11:33 CEST 2010
Author: jandem
Date: Sat Apr 10 17:11:31 2010
New Revision: 73629
Modified:
pypy/branch/cpython-extension/pypy/module/cpyext/slotdefs.py
Log:
add slotdef for __getitem__ to make it actually work
Modified: pypy/branch/cpython-extension/pypy/module/cpyext/slotdefs.py
==============================================================================
--- pypy/branch/cpython-extension/pypy/module/cpyext/slotdefs.py (original)
+++ pypy/branch/cpython-extension/pypy/module/cpyext/slotdefs.py Sat Apr 10 17:11:31 2010
@@ -4,7 +4,8 @@
from pypy.module.cpyext.api import generic_cpy_call, cpython_api, \
PyObject
from pypy.module.cpyext.typeobjectdefs import unaryfunc, wrapperfunc,\
- ternaryfunc, PyTypeObjectPtr, binaryfunc, getattrfunc, lenfunc
+ ternaryfunc, PyTypeObjectPtr, binaryfunc, getattrfunc, lenfunc,\
+ ssizeargfunc
from pypy.module.cpyext.pyobject import from_ref
from pypy.module.cpyext.state import State
from pypy.interpreter.error import OperationError, operationerrfmt
@@ -54,6 +55,13 @@
check_num_args(space, w_args, 0)
return generic_cpy_call(space, func_len, w_self)
+def wrap_sq_item(space, w_self, w_args, func):
+ func_target = rffi.cast(ssizeargfunc, func)
+ check_num_args(space, w_args, 1)
+ args_w = space.fixedview(w_args)
+ index = space.int_w(space.index(args_w[0]))
+ return generic_cpy_call(space, func_target, w_self, index)
+
@cpython_api([PyTypeObjectPtr, PyObject, PyObject], PyObject, external=True)
def slot_tp_new(space, type, w_args, w_kwds):
from pypy.module.cpyext.tupleobject import PyTuple_Check
More information about the Pypy-commit
mailing list