[pypy-commit] pypy remove-intlong-smm: workaround the lack of a GetSetIndirectProperty for now (fix translation)

pjenvey noreply at buildbot.pypy.org
Thu Oct 3 00:34:52 CEST 2013


Author: Philip Jenvey <pjenvey at underboss.org>
Branch: remove-intlong-smm
Changeset: r67145:6c5a18b6acf1
Date: 2013-10-02 15:33 -0700
http://bitbucket.org/pypy/pypy/changeset/6c5a18b6acf1/

Log:	workaround the lack of a GetSetIndirectProperty for now (fix
	translation)

diff --git a/pypy/objspace/std/intobject.py b/pypy/objspace/std/intobject.py
--- a/pypy/objspace/std/intobject.py
+++ b/pypy/objspace/std/intobject.py
@@ -360,6 +360,7 @@
             val >>= 1
         return space.wrap(bits)
 
+    """
     def descr_get_numerator(self, space):
         return space.int(self)
 
@@ -371,6 +372,20 @@
 
     def descr_get_imag(self, space):
         return space.wrap(0)
+        """
+
+# XXX:
+def descr_get_numerator(space, w_obj):
+    return space.int(w_obj)
+
+def descr_get_denominator(space, w_obj):
+    return space.wrap(1)
+
+def descr_get_real(space, w_obj):
+    return space.int(w_obj)
+
+def descr_get_imag(space, w_obj):
+    return space.wrap(0)
 
 
 class W_IntObject(W_AbstractIntObject):
@@ -617,10 +632,15 @@
 
     conjugate = interpindirect2app(W_AbstractIntObject.descr_conjugate),
     bit_length = interpindirect2app(W_AbstractIntObject.descr_bit_length),
-    numerator = typedef.GetSetProperty(W_AbstractIntObject.descr_get_numerator),
-    denominator = typedef.GetSetProperty(W_AbstractIntObject.descr_get_denominator),
-    real = typedef.GetSetProperty(W_AbstractIntObject.descr_get_real),
-    imag = typedef.GetSetProperty(W_AbstractIntObject.descr_get_imag),
+    # XXX: need a GetSetIndirectProperty
+    #numerator = typedef.GetSetProperty(W_IntObject.descr_get_numerator),
+    #denominator = typedef.GetSetProperty(W_IntObject.descr_get_denominator),
+    #real = typedef.GetSetProperty(W_IntObject.descr_get_real),
+    #imag = typedef.GetSetProperty(W_IntObject.descr_get_imag),
+    numerator = typedef.GetSetProperty(descr_get_numerator),
+    denominator = typedef.GetSetProperty(descr_get_denominator),
+    real = typedef.GetSetProperty(descr_get_real),
+    imag = typedef.GetSetProperty(descr_get_imag),
     __int__ = interpindirect2app(W_AbstractIntObject.int),
     __long__ = interpindirect2app(W_AbstractIntObject.descr_long),
 


More information about the pypy-commit mailing list