Author: Manuel Jacob
Branch: refactor-str-types
Changeset: r65816:84267731a9be
Date: 2013-07-29 18:35 +0200
http://bitbucket.org/pypy/pypy/changeset/84267731a9be/

Log:    Fix isinstance_w fastpath.

diff --git a/pypy/objspace/std/objspace.py b/pypy/objspace/std/objspace.py
--- a/pypy/objspace/std/objspace.py
+++ b/pypy/objspace/std/objspace.py
@@ -15,7 +15,8 @@
 
 # Object imports
 from pypy.objspace.std.boolobject import W_BoolObject
-from pypy.objspace.std.bytesobject import W_BytesObject, wrapstr
+from pypy.objspace.std.bytesobject import W_AbstractBytesObject, 
W_BytesObject, wrapstr
+from pypy.objspace.std.bytearrayobject import W_BytearrayObject
 from pypy.objspace.std.complexobject import W_ComplexObject
 from pypy.objspace.std.dictmultiobject import W_DictMultiObject
 from pypy.objspace.std.floatobject import W_FloatObject
@@ -667,12 +668,19 @@
                 self._interplevel_classes[w_type] = base
 
         # register other things
+        # XXX: fix automatic registration
         self._interplevel_classes[self.w_dict] = W_DictMultiObject
         self._interplevel_classes[self.w_list] = W_ListObject
         self._interplevel_classes[self.w_set] = W_SetObject
         self._interplevel_classes[self.w_tuple] = W_AbstractTupleObject
         self._interplevel_classes[self.w_sequenceiterator] = \
                 W_AbstractSeqIterObject
+        if self.config.objspace.std.withstrbuf:
+            self._interplevel_classes[self.w_str] = W_AbstractBytesObject
+        else:
+            self._interplevel_classes[self.w_str] = W_BytesObject
+        self._interplevel_classes[self.w_bytearray] = W_BytearrayObject
+        self._interplevel_classes[self.w_unicode] = W_UnicodeObject
 
     @specialize.memo()
     def _get_interplevel_cls(self, w_type):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to