[pypy-svn] r4965 - pypy/branch/src-newobjectmodel/pypy/objspace/std

mwh at codespeak.net mwh at codespeak.net
Sat Jun 5 15:11:11 CEST 2004


Author: mwh
Date: Sat Jun  5 15:11:10 2004
New Revision: 4965

Modified:
   pypy/branch/src-newobjectmodel/pypy/objspace/std/tupleobject.py
   pypy/branch/src-newobjectmodel/pypy/objspace/std/typetype.py
Log:
support __bases__
better repr for tuples


Modified: pypy/branch/src-newobjectmodel/pypy/objspace/std/tupleobject.py
==============================================================================
--- pypy/branch/src-newobjectmodel/pypy/objspace/std/tupleobject.py	(original)
+++ pypy/branch/src-newobjectmodel/pypy/objspace/std/tupleobject.py	Sat Jun  5 15:11:10 2004
@@ -103,12 +103,16 @@
     # No more items to compare -- compare sizes
     return space.newbool(len(items1) > len(items2))
 
-def repr__Tuple(space, w_tuple):
-    # XXX slimy! --mwh
-    return space.wrap(repr(space.unwrap(w_tuple)))
+def app_repr__Tuple(t):
+    if len(t) == 1:
+        return "(" + repr(t[0]) + ",)"
+    else:
+        return "(" + ", ".join([repr(x) for x in t]) + ')'
 
 def hash__Tuple(space, w_tuple):
     # silly-ish, but _correct_, while lacking it would be WRONG
     return space.len(w_tuple)
 
+from pypy.interpreter import gateway
+gateway.importall(globals())
 register_all(vars())

Modified: pypy/branch/src-newobjectmodel/pypy/objspace/std/typetype.py
==============================================================================
--- pypy/branch/src-newobjectmodel/pypy/objspace/std/typetype.py	(original)
+++ pypy/branch/src-newobjectmodel/pypy/objspace/std/typetype.py	Sat Jun  5 15:11:10 2004
@@ -30,12 +30,15 @@
         dictspec.append((space.wrap(key), w_value))
     return space.newdict(dictspec)
 
+def descr__bases(space, w_type):
+    return space.newtuple(w_type.bases_w)
+
 # ____________________________________________________________
 
 type_typedef = StdTypeDef("type", [object_typedef],
     __new__ = newmethod(descr__new__),
     __name__ = attrproperty('name'),
-    #__bases__ = XXX use newtuple
+    __bases__ = GetSetProperty(descr__bases),
     __dict__ = GetSetProperty(descr__dict__),
     __mro__ = GetSetProperty(descr_get__mro__),
     )



More information about the Pypy-commit mailing list