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

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


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

Log:	Remove set.__xor__ 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
@@ -257,6 +257,9 @@
         w_copy.update(w_other)
         return w_copy
 
+    def descr_xor(self, space, w_other):
+        return self.symmetric_difference(w_other)
+
     def descr_copy(self, space):
         """Return a shallow copy of a set."""
         if type(self) is W_FrozensetObject:
@@ -469,7 +472,7 @@
     __contains__ = gateway.interp2app(W_BaseSetObject.descr_contains),
     __and__ = gateway.interp2app(W_BaseSetObject.descr_and),
     __or__ = gateway.interp2app(W_BaseSetObject.descr_or),
-    #__xor__ = gateway.interp2app(W_BaseSetObject.descr_symmetric_difference),
+    __xor__ = gateway.interp2app(W_BaseSetObject.descr_xor),
 
     # non-mutating methods
     __reduce__ = gateway.interp2app(W_BaseSetObject.descr_reduce),
@@ -563,7 +566,7 @@
     __contains__ = gateway.interp2app(W_BaseSetObject.descr_contains),
     __and__ = gateway.interp2app(W_BaseSetObject.descr_and),
     __or__ = gateway.interp2app(W_BaseSetObject.descr_or),
-    #__xor__ = gateway.interp2app(W_BaseSetObject.descr_symmetric_difference),
+    __xor__ = gateway.interp2app(W_BaseSetObject.descr_xor),
 
     # non-mutating methods
     __reduce__ = gateway.interp2app(W_BaseSetObject.descr_reduce),
@@ -1535,14 +1538,6 @@
 
 inplace_xor__Set_Frozenset = inplace_xor__Set_Set
 
-def xor__Set_Set(space, self, w_other):
-    w_result = self.symmetric_difference(w_other)
-    return w_result
-
-xor__Set_Frozenset = xor__Set_Set
-xor__Frozenset_Set = xor__Set_Set
-xor__Frozenset_Frozenset = xor__Set_Set
-
 def cmp__Set_settypedef(space, self, w_other):
     # hack hack until we get the expected result
     raise OperationError(space.w_TypeError,


More information about the pypy-commit mailing list