[pypy-svn] r8903 - pypy/dist/pypy/objspace/std
arigo at codespeak.net
arigo at codespeak.net
Sat Feb 5 15:37:36 CET 2005
Author: arigo
Date: Sat Feb 5 15:37:35 2005
New Revision: 8903
Modified:
pypy/dist/pypy/objspace/std/listobject.py
Log:
Re-enabled the various version of setitem__List_Slice_Xxx(). Fixed a typo in
the (now-commented-out) code.
Modified: pypy/dist/pypy/objspace/std/listobject.py
==============================================================================
--- pypy/dist/pypy/objspace/std/listobject.py (original)
+++ pypy/dist/pypy/objspace/std/listobject.py Sat Feb 5 15:37:35 2005
@@ -220,24 +220,21 @@
items[idx] = w_any
return space.w_None
-# XXX the following is disabled, so that 'setitem' can be a binary multimethod.
-##def setitem__List_Slice_List(space, w_list, w_slice, w_list2):
-## return _setitem_slice_helper(space, w_list, w_slice, w_list2.ob_item, w_list2.ob_size)
-
-##def setitem__List_Slice_Tuple(space, w_list, w_slice, w_tuple):
-## t = w_tuple.wrappeditems
-## return _setitem_slice_helper(space, w_list, w_slice, t, len(t))
+def setitem__List_Slice_List(space, w_list, w_slice, w_list2):
+ return _setitem_slice_helper(space, w_list, w_slice, w_list2.ob_item, w_list2.ob_size)
+
+def setitem__List_Slice_Tuple(space, w_list, w_slice, w_tuple):
+ t = w_tuple.wrappeditems
+ return _setitem_slice_helper(space, w_list, w_slice, t, len(t))
def setitem__List_Slice_ANY(space, w_list, w_slice, w_iterable):
- # for performance, check for common cases of w_iterable
- # (this used to be done by the disabled cases of 'setitem' above)
- if isinstance(w_iterable, W_ListObject):
- return _setitem_slice_helper(space, w_list, w_slice,
- w_iterable.ob_item, w_iterable.ob_size)
- if isinstance(w_iterable, W_TupleObject):
- t = w_tuple.wrappeditems
- else:
- t = space.unpackiterable(w_iterable)
+## if isinstance(w_iterable, W_ListObject):
+## return _setitem_slice_helper(space, w_list, w_slice,
+## w_iterable.ob_item, w_iterable.ob_size)
+## if isinstance(w_iterable, W_TupleObject):
+## t = w_iterable.wrappeditems
+## else:
+ t = space.unpackiterable(w_iterable)
return _setitem_slice_helper(space, w_list, w_slice, t, len(t))
def _setitem_slice_helper(space, w_list, w_slice, sequence2, len2):
More information about the Pypy-commit
mailing list