[pypy-svn] r10021 - pypy/dist/pypy/objspace/std

tismer at codespeak.net tismer at codespeak.net
Mon Mar 21 21:21:54 CET 2005


Author: tismer
Date: Mon Mar 21 21:21:53 2005
New Revision: 10021

Modified:
   pypy/dist/pypy/objspace/std/floattype.py
   pypy/dist/pypy/objspace/std/inttype.py
   pypy/dist/pypy/objspace/std/longtype.py
   pypy/dist/pypy/objspace/std/stringtype.py
   pypy/dist/pypy/objspace/std/tupletype.py
Log:
__getnewargs__ to make pickle and Samuele's tool happy

Modified: pypy/dist/pypy/objspace/std/floattype.py
==============================================================================
--- pypy/dist/pypy/objspace/std/floattype.py	(original)
+++ pypy/dist/pypy/objspace/std/floattype.py	Mon Mar 21 21:21:53 2005
@@ -19,8 +19,13 @@
     w_obj.__init__(space, value)
     return w_obj
 
+def descr__getnewargs__(space, w_obj):
+    from pypy.objspace.std.floatobject import W_FloatObject
+    return space.newtuple([W_FloatObject(space, w_obj.floatval)])
+
 # ____________________________________________________________
 
 float_typedef = StdTypeDef("float",
     __new__ = newmethod(descr__new__),
+    __getnewargs__ = newmethod(descr__getnewargs__),
     )

Modified: pypy/dist/pypy/objspace/std/inttype.py
==============================================================================
--- pypy/dist/pypy/objspace/std/inttype.py	(original)
+++ pypy/dist/pypy/objspace/std/inttype.py	Mon Mar 21 21:21:53 2005
@@ -70,6 +70,7 @@
 def descr__getnewargs__(space, w_obj):
     from pypy.objspace.std.intobject import W_IntObject
     return space.newtuple([W_IntObject(space, w_obj.intval)])
+
 # ____________________________________________________________
 
 int_typedef = StdTypeDef("int",

Modified: pypy/dist/pypy/objspace/std/longtype.py
==============================================================================
--- pypy/dist/pypy/objspace/std/longtype.py	(original)
+++ pypy/dist/pypy/objspace/std/longtype.py	Mon Mar 21 21:21:53 2005
@@ -53,10 +53,15 @@
     w_obj.__init__(space, value)
     return w_obj
 
+def descr__getnewargs__(space, w_obj):
+    from pypy.objspace.std.longobject import W_LongObject
+    return space.newtuple([W_LongObject(space, w_obj.longval)])
+
 # ____________________________________________________________
 
 long_typedef = StdTypeDef("long",
     __new__ = newmethod(descr__new__),
+    __getnewargs__ = newmethod(descr__getnewargs__),
     )
 # hack to allow automatic int to long conversion: the int.__xyz__ methods
 # will fall back to their long.__xyz__ counterparts if they fail

Modified: pypy/dist/pypy/objspace/std/stringtype.py
==============================================================================
--- pypy/dist/pypy/objspace/std/stringtype.py	(original)
+++ pypy/dist/pypy/objspace/std/stringtype.py	Mon Mar 21 21:21:53 2005
@@ -49,9 +49,14 @@
     w_obj.__init__(space, value)
     return w_obj
 
+def descr__getnewargs__(space, w_obj):
+    from pypy.objspace.std.stringobject import W_StringObject
+    return space.newtuple([W_StringObject(space, w_obj._value)])
+
 # ____________________________________________________________
 
 str_typedef = StdTypeDef("str", basestring_typedef,
     __new__ = newmethod(descr__new__),
+    __getnewargs__ = newmethod(descr__getnewargs__),
     )
 str_typedef.registermethods(globals())

Modified: pypy/dist/pypy/objspace/std/tupletype.py
==============================================================================
--- pypy/dist/pypy/objspace/std/tupletype.py	(original)
+++ pypy/dist/pypy/objspace/std/tupletype.py	Mon Mar 21 21:21:53 2005
@@ -14,8 +14,13 @@
     w_obj.__init__(space, tuple_w)
     return w_obj
 
+def descr__getnewargs__(space, w_obj):
+    from pypy.objspace.std.tupleobject import W_TupleObject
+    return space.newtuple([W_TupleObject(space, w_obj.wrappeditems)])
+
 # ____________________________________________________________
 
 tuple_typedef = StdTypeDef("tuple",
     __new__ = newmethod(descr__new__),
+    __getnewargs__ = newmethod(descr__getnewargs__),
     )



More information about the Pypy-commit mailing list