[pypy-commit] pypy remove-set-smm: Remove set.__repr__ multi-method.

Manuel Jacob noreply at buildbot.pypy.org
Wed May 15 14:01:05 CEST 2013


Author: Manuel Jacob
Branch: remove-set-smm
Changeset: r64132:c19c1e7f2798
Date: 2013-05-15 11:22 +0200
http://bitbucket.org/pypy/pypy/changeset/c19c1e7f2798/

Log:	Remove set.__repr__ multi-method.

diff --git a/pypy/objspace/std/setobject.py b/pypy/objspace/std/setobject.py
--- a/pypy/objspace/std/setobject.py
+++ b/pypy/objspace/std/setobject.py
@@ -242,6 +242,13 @@
                     return space.newbool(self.has_key(w_f))
             raise
 
+    def descr_repr(self, space):
+        ec = space.getexecutioncontext()
+        w_currently_in_repr = ec._py_repr
+        if w_currently_in_repr is None:
+            w_currently_in_repr = ec._py_repr = space.newdict()
+        return setrepr(space, w_currently_in_repr, self)
+
     def descr_copy(self, space):
         """Return a shallow copy of a set."""
         if type(self) is W_FrozensetObject:
@@ -439,6 +446,7 @@
 
 Build an unordered collection.""",
     __new__ = gateway.interp2app(W_SetObject.descr_new),
+    __repr__ = gateway.interp2app(W_BaseSetObject.descr_repr),
     __hash__ = None,
 
     # comparison operators
@@ -532,6 +540,7 @@
 
 Build an immutable unordered collection.""",
     __new__ = gateway.interp2app(W_FrozensetObject.descr_new),
+    __repr__ = gateway.interp2app(W_BaseSetObject.descr_repr),
     __hash__ = gateway.interp2app(W_FrozensetObject.descr_hash),
 
     # comparison operators
@@ -1582,15 +1591,6 @@
 
 setrepr = app.interphook("setrepr")
 
-def repr__Set(space, w_set):
-    ec = space.getexecutioncontext()
-    w_currently_in_repr = ec._py_repr
-    if w_currently_in_repr is None:
-        w_currently_in_repr = ec._py_repr = space.newdict()
-    return setrepr(space, w_currently_in_repr, w_set)
-
-repr__Frozenset = repr__Set
-
 app = gateway.applevel("""
     def setreduce(s):
         dict = getattr(s,'__dict__', None)


More information about the pypy-commit mailing list