Author: Carl Friedrich Bolz <[email protected]>
Branch: space-newtext
Changeset: r88048:fea7fb1fd7fb
Date: 2016-11-01 18:21 +0100
http://bitbucket.org/pypy/pypy/changeset/fea7fb1fd7fb/

Log:    remove space.wrap from the array module (one left)

diff --git a/pypy/module/array/interp_array.py 
b/pypy/module/array/interp_array.py
--- a/pypy/module/array/interp_array.py
+++ b/pypy/module/array/interp_array.py
@@ -53,11 +53,11 @@
 
 
 def descr_itemsize(space, self):
-    return space.wrap(self.itemsize)
+    return space.newint(self.itemsize)
 
 
 def descr_typecode(space, self):
-    return space.wrap(self.typecode)
+    return space.newint(self.typecode)
 
 arr_eq_driver = jit.JitDriver(name='array_eq_driver', greens=['comp_func'],
                               reds='auto')
@@ -265,14 +265,14 @@
             size = ovfcheck(self.itemsize * n)
         except OverflowError:
             raise MemoryError
-        w_item = space.call_method(w_f, 'read', space.wrap(size))
+        w_item = space.call_method(w_f, 'read', space.newint(size))
         item = space.bytes_w(w_item)
         if len(item) < size:
             n = len(item) % self.itemsize
             elems = max(0, len(item) - (len(item) % self.itemsize))
             if n != 0:
                 item = item[0:elems]
-            self.descr_fromstring(space, space.wrap(item))
+            self.descr_fromstring(space, space.newint(item))
             raise oefmt(space.w_EOFError, "not enough items in file")
         self.descr_fromstring(space, w_item)
 
@@ -315,7 +315,7 @@
         """
         if self.typecode == 'u':
             buf = rffi.cast(UNICODE_ARRAY, self._buffer_as_unsigned())
-            return space.wrap(rffi.wcharpsize2unicode(buf, self.len))
+            return space.newunicode(rffi.wcharpsize2unicode(buf, self.len))
         else:
             raise oefmt(space.w_ValueError,
                         "tounicode() may only be called on type 'u' arrays")
@@ -328,8 +328,8 @@
         The length should be multiplied by the itemsize attribute to calculate
         the buffer length in bytes.
         """
-        w_ptr = space.wrap(self._buffer_as_unsigned())
-        w_len = space.wrap(self.len)
+        w_ptr = space.newint(self._buffer_as_unsigned())
+        w_len = space.newint(self.len)
         return space.newtuple([w_ptr, w_len])
 
     def descr_reduce(self, space):
@@ -337,11 +337,11 @@
         """
         if self.len > 0:
             w_s = self.descr_tostring(space)
-            args = [space.wrap(self.typecode), w_s]
+            args = [space.newtext(self.typecode), w_s]
         else:
-            args = [space.wrap(self.typecode)]
+            args = [space.newtext(self.typecode)]
         try:
-            w_dict = space.getattr(self, space.wrap('__dict__'))
+            w_dict = space.getattr(self, space.newtext('__dict__'))
         except OperationError:
             w_dict = space.w_None
         return space.newtuple([space.type(self), space.newtuple(args), w_dict])
@@ -382,7 +382,7 @@
         self._charbuf_stop()
 
     def descr_len(self, space):
-        return space.wrap(self.len)
+        return space.newint(self.len)
 
     def descr_eq(self, space, w_arr2):
         "x.__eq__(y) <==> x==y"
@@ -474,19 +474,19 @@
 
     def descr_repr(self, space):
         if self.len == 0:
-            return space.wrap("array('%s')" % self.typecode)
+            return space.newtext("array('%s')" % self.typecode)
         elif self.typecode == "c":
             r = space.repr(self.descr_tostring(space))
             s = "array('%s', %s)" % (self.typecode, space.str_w(r))
-            return space.wrap(s)
+            return space.newtext(s)
         elif self.typecode == "u":
             r = space.repr(self.descr_tounicode(space))
             s = "array('%s', %s)" % (self.typecode, space.str_w(r))
-            return space.wrap(s)
+            return space.newtext(s)
         else:
             r = space.repr(self.descr_tolist(space))
             s = "array('%s', %s)" % (self.typecode, space.str_w(r))
-            return space.wrap(s)
+            return space.newtext(s)
 
 W_ArrayBase.typedef = TypeDef(
     'array.array',
@@ -706,7 +706,7 @@
                     if not mytype.signed:
                         msg = 'un' + msg      # 'signed' => 'unsigned'
                     raise OperationError(self.space.w_OverflowError,
-                                         self.space.wrap(msg))
+                                         self.space.newtext(msg))
             return result
 
         @rgc.must_be_light_finalizer
@@ -845,9 +845,11 @@
             item = self.buffer[idx]
             if mytype.typecode in 'bBhHil':
                 item = rffi.cast(lltype.Signed, item)
+                return space.newint(item)
             elif mytype.typecode == 'f':
                 item = float(item)
-            return space.wrap(item)
+                return space.newfloat(item)
+            return space.wrap(item) # YYY
 
         # interface
 
@@ -865,13 +867,13 @@
                 w_item = self.w_getitem(space, i)
                 if space.is_true(space.eq(w_item, w_val)):
                     cnt += 1
-            return space.wrap(cnt)
+            return space.newint(cnt)
 
         def descr_index(self, space, w_val):
             for i in range(self.len):
                 w_item = self.w_getitem(space, i)
                 if space.is_true(space.eq(w_item, w_val)):
-                    return space.wrap(i)
+                    return space.newint(i)
             raise oefmt(space.w_ValueError, "array.index(x): x not in list")
 
         def descr_reverse(self, space):
diff --git a/pypy/objspace/fake/objspace.py b/pypy/objspace/fake/objspace.py
--- a/pypy/objspace/fake/objspace.py
+++ b/pypy/objspace/fake/objspace.py
@@ -202,6 +202,9 @@
     def newunicode(self, x):
         return w_some_obj()
 
+    newtext = newbytes
+    newtext_or_none = newbytes
+
     def wrap(self, x):
         if not we_are_translated():
             if isinstance(x, gateway.interp2app):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to