[pypy-commit] pypy remove-set-smm: Remove set.__len__ multi-method.
Manuel Jacob
noreply at buildbot.pypy.org
Wed May 15 14:01:01 CEST 2013
Author: Manuel Jacob
Branch: remove-set-smm
Changeset: r64129:6f5738129e7b
Date: 2013-05-15 11:12 +0200
http://bitbucket.org/pypy/pypy/changeset/6f5738129e7b/
Log: Remove set.__len__ 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
@@ -226,6 +226,9 @@
return space.w_False
return space.wrap(w_other.issubset(self))
+ def descr_len(self, space):
+ return space.newint(self.length())
+
def descr_copy(self, space):
"""Return a shallow copy of a set."""
if type(self) is W_FrozensetObject:
@@ -434,6 +437,7 @@
__ge__ = gateway.interp2app(W_BaseSetObject.descr_ge),
# non-mutating operators
+ __len__ = gateway.interp2app(W_BaseSetObject.descr_len),
#__and__ = gateway.interp2app(W_BaseSetObject.descr_intersection),
#__or__ = gateway.interp2app(W_BaseSetObject.descr_union),
#__xor__ = gateway.interp2app(W_BaseSetObject.descr_symmetric_difference),
@@ -524,6 +528,7 @@
__ge__ = gateway.interp2app(W_BaseSetObject.descr_ge),
# non-mutating operators
+ __len__ = gateway.interp2app(W_BaseSetObject.descr_len),
#__and__ = gateway.interp2app(W_BaseSetObject.descr_intersection),
#__or__ = gateway.interp2app(W_BaseSetObject.descr_union),
#__xor__ = gateway.interp2app(W_BaseSetObject.descr_symmetric_difference),
@@ -1536,11 +1541,6 @@
xor__Frozenset_Set = xor__Set_Set
xor__Frozenset_Frozenset = xor__Set_Set
-def len__Set(space, self):
- return space.newint(self.length())
-
-len__Frozenset = len__Set
-
def iter__Set(space, self):
return W_SetIterObject(space, self.iter())
More information about the pypy-commit
mailing list