Author: Manuel Jacob
Branch: remove-set-smm
Changeset: r64131:676ca89b400f
Date: 2013-05-15 11:18 +0200
http://bitbucket.org/pypy/pypy/changeset/676ca89b400f/
Log: Remove set.__contains__ 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
@@ -232,6 +232,16 @@
def descr_iter(self, space):
return W_SetIterObject(space, self.iter())
+ def descr_contains(self, space, w_other):
+ try:
+ return space.newbool(self.has_key(w_other))
+ except OperationError, e:
+ if e.match(space, space.w_TypeError):
+ w_f = _convert_set_to_frozenset(space, w_other)
+ if w_f is not None:
+ return space.newbool(self.has_key(w_f))
+ raise
+
def descr_copy(self, space):
"""Return a shallow copy of a set."""
if type(self) is W_FrozensetObject:
@@ -442,6 +452,7 @@
# non-mutating operators
__len__ = gateway.interp2app(W_BaseSetObject.descr_len),
__iter__ = gateway.interp2app(W_BaseSetObject.descr_iter),
+ __contains__ = gateway.interp2app(W_BaseSetObject.descr_contains),
#__and__ = gateway.interp2app(W_BaseSetObject.descr_intersection),
#__or__ = gateway.interp2app(W_BaseSetObject.descr_union),
#__xor__ = gateway.interp2app(W_BaseSetObject.descr_symmetric_difference),
@@ -534,6 +545,7 @@
# non-mutating operators
__len__ = gateway.interp2app(W_BaseSetObject.descr_len),
__iter__ = gateway.interp2app(W_BaseSetObject.descr_iter),
+ __contains__ = gateway.interp2app(W_BaseSetObject.descr_contains),
#__and__ = gateway.interp2app(W_BaseSetObject.descr_intersection),
#__or__ = gateway.interp2app(W_BaseSetObject.descr_union),
#__xor__ = gateway.interp2app(W_BaseSetObject.descr_symmetric_difference),
@@ -1475,18 +1487,6 @@
inplace_sub__Set_Frozenset = inplace_sub__Set_Set
-def contains__Set_ANY(space, self, w_other):
- try:
- return space.newbool(self.has_key(w_other))
- except OperationError, e:
- if e.match(space, space.w_TypeError):
- w_f = _convert_set_to_frozenset(space, w_other)
- if w_f is not None:
- return space.newbool(self.has_key(w_f))
- raise
-
-contains__Frozenset_ANY = contains__Set_ANY
-
def _discard_from_set(space, w_left, w_item):
"""
Discard an element from a set, with automatic conversion to
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit