[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