Author: Philip Jenvey <[email protected]>
Branch:
Changeset: r57619:385b31354be6
Date: 2012-09-26 13:55 -0700
http://bitbucket.org/pypy/pypy/changeset/385b31354be6/
Log: refactor dupe impls into a base class
diff --git a/pypy/objspace/std/dictmultiobject.py
b/pypy/objspace/std/dictmultiobject.py
--- a/pypy/objspace/std/dictmultiobject.py
+++ b/pypy/objspace/std/dictmultiobject.py
@@ -874,7 +874,7 @@
# Iteration
-class W_DictMultiIterKeysObject(W_Object):
+class W_BaseDictMultiIterObject(W_Object):
from pypy.objspace.std.dicttype import dictiter_typedef as typedef
_immutable_fields_ = ["iteratorimplementation"]
@@ -885,32 +885,17 @@
w_self.space = space
w_self.iteratorimplementation = iteratorimplementation
+class W_DictMultiIterKeysObject(W_BaseDictMultiIterObject):
+ pass
+
+class W_DictMultiIterValuesObject(W_BaseDictMultiIterObject):
+ pass
+
+class W_DictMultiIterItemsObject(W_BaseDictMultiIterObject):
+ pass
+
registerimplementation(W_DictMultiIterKeysObject)
-
-class W_DictMultiIterValuesObject(W_Object):
- from pypy.objspace.std.dicttype import dictiter_typedef as typedef
-
- _immutable_fields_ = ["iteratorimplementation"]
-
- ignore_for_isinstance_cache = True
-
- def __init__(w_self, space, iteratorimplementation):
- w_self.space = space
- w_self.iteratorimplementation = iteratorimplementation
-
registerimplementation(W_DictMultiIterValuesObject)
-
-class W_DictMultiIterItemsObject(W_Object):
- from pypy.objspace.std.dicttype import dictiter_typedef as typedef
-
- _immutable_fields_ = ["iteratorimplementation"]
-
- ignore_for_isinstance_cache = True
-
- def __init__(w_self, space, iteratorimplementation):
- w_self.space = space
- w_self.iteratorimplementation = iteratorimplementation
-
registerimplementation(W_DictMultiIterItemsObject)
def iter__DictMultiIterKeysObject(space, w_dictiter):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit