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

Reply via email to