Author: Manuel Jacob
Branch: remove-set-smm
Changeset: r64140:9350e2d381e3
Date: 2013-05-15 11:59 +0200
http://bitbucket.org/pypy/pypy/changeset/9350e2d381e3/

Log:    Remove set.__init__ 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
@@ -163,6 +163,13 @@
 
     # app-level operations
 
+    def descr_init(self, space, __args__):
+        w_iterable, = __args__.parse_obj(
+                None, 'set',
+                init_signature,
+                init_defaults)
+        _initialize_set(space, self, w_iterable)
+
     def descr_repr(self, space):
         ec = space.getexecutioncontext()
         w_currently_in_repr = ec._py_repr
@@ -479,6 +486,7 @@
 
 Build an unordered collection.""",
     __new__ = gateway.interp2app(W_SetObject.descr_new),
+    __init__ = gateway.interp2app(W_BaseSetObject.descr_init),
     __repr__ = gateway.interp2app(W_BaseSetObject.descr_repr),
     __hash__ = None,
     __cmp__ = gateway.interp2app(W_BaseSetObject.descr_cmp),
@@ -1503,6 +1511,8 @@
     w_set.strategy = space.fromcache(ObjectSetStrategy)
     w_set.sstorage = w_set.strategy.get_storage_from_list(iterable_w)
 
+init_signature = Signature(['some_iterable'], None, None)
+init_defaults = [None]
 def _initialize_set(space, w_obj, w_iterable=None):
     w_obj.clear()
     set_strategy_and_setdata(space, w_obj, w_iterable)
@@ -1541,15 +1551,6 @@
         w_left.switch_to_empty_strategy()
     return deleted
 
-init_signature = Signature(['some_iterable'], None, None)
-init_defaults = [None]
-def init__Set(space, w_set, __args__):
-    w_iterable, = __args__.parse_obj(
-            None, 'set',
-            init_signature,
-            init_defaults)
-    _initialize_set(space, w_set, w_iterable)
-
 app = gateway.applevel("""
     def setrepr(currently_in_repr, s):
         'The app-level part of repr().'
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to