[pypy-svn] r69551 - in pypy/branch/stringbuilder/pypy: interpreter objspace/std

fijal at codespeak.net fijal at codespeak.net
Mon Nov 23 14:08:38 CET 2009


Author: fijal
Date: Mon Nov 23 14:08:37 2009
New Revision: 69551

Modified:
   pypy/branch/stringbuilder/pypy/interpreter/baseobjspace.py
   pypy/branch/stringbuilder/pypy/objspace/std/objspace.py
Log:
grumble. indeed, someone uses expected_length


Modified: pypy/branch/stringbuilder/pypy/interpreter/baseobjspace.py
==============================================================================
--- pypy/branch/stringbuilder/pypy/interpreter/baseobjspace.py	(original)
+++ pypy/branch/stringbuilder/pypy/interpreter/baseobjspace.py	Mon Nov 23 14:08:37 2009
@@ -668,7 +668,7 @@
                                    (i, plural))
         return items
 
-    def fixedview(self, w_iterable):
+    def fixedview(self, w_iterable, expected_lenght=-1):
         """ A fixed list view of w_iterable. Don't modify the result
         """
         return make_sure_not_resized(self.unpackiterable(w_iterable)[:])

Modified: pypy/branch/stringbuilder/pypy/objspace/std/objspace.py
==============================================================================
--- pypy/branch/stringbuilder/pypy/objspace/std/objspace.py	(original)
+++ pypy/branch/stringbuilder/pypy/objspace/std/objspace.py	Mon Nov 23 14:08:37 2009
@@ -643,7 +643,7 @@
             raise UnpackValueError("Expected length %d, got %d" % (expected_length, len(t)))
         return t
 
-    def fixedview(self, w_obj):
+    def fixedview(self, w_obj, expected_length=-1):
         """ Fast paths
         """
         if isinstance(w_obj, W_TupleObject):
@@ -652,6 +652,8 @@
             t = w_obj.wrappeditems[:]
         else:
             return ObjSpace.fixedview(self, w_obj)
+        if expected_length != -1 and len(t) != expected_length:
+            raise UnpackValueError("Expected length %d, got %d" % (expected_length, len(t)))
         return t
 
     def listview(self, w_obj):



More information about the Pypy-commit mailing list