[pypy-commit] pypy remove-dict-smm: Remove dict.get SMM.

Manuel Jacob noreply at buildbot.pypy.org
Tue May 14 17:20:43 CEST 2013


Author: Manuel Jacob
Branch: remove-dict-smm
Changeset: r64080:a870c05e9f35
Date: 2013-05-14 16:38 +0200
http://bitbucket.org/pypy/pypy/changeset/a870c05e9f35/

Log:	Remove dict.get SMM.

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
@@ -160,8 +160,14 @@
         """D.clear() -> None.  Remove all items from D."""
         self.clear()
 
-#    def descr_get(self, space):
-#        """"""
+    @gateway.unwrap_spec(w_default=gateway.WrappedDefault(None))
+    def descr_get(self, space, w_key, w_default):
+        """D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None."""
+        w_value = self.getitem(w_key)
+        if w_value is not None:
+            return w_value
+        else:
+            return w_default
 
 #    def descr_pop(self, space):
 #        """"""
@@ -964,13 +970,6 @@
         w_res = space.lt(w_leftval, w_rightval)
     return w_res
 
-def dict_get__DictMulti_ANY_ANY(space, w_dict, w_key, w_default):
-    w_value = w_dict.getitem(w_key)
-    if w_value is not None:
-        return w_value
-    else:
-        return w_default
-
 def dict_setdefault__DictMulti_ANY_ANY(space, w_dict, w_key, w_default):
     return w_dict.setdefault(w_key, w_default)
 
@@ -1153,8 +1152,7 @@
 dict_clear      = SMM('clear',         1,
                       doc='')
 dict_get        = SMM('get',           3, defaults=(None,),
-                      doc='D.get(k[,d]) -> D[k] if k in D, else d.  d defaults'
-                          ' to None.')
+                      doc='')
 dict_pop        = SMM('pop',           2, varargs_w=True,
                       doc='D.pop(k[,d]) -> v, remove specified key and return'
                           ' the corresponding value\nIf key is not found, d is'
@@ -1268,7 +1266,7 @@
     viewvalues = gateway.interp2app(W_DictMultiObject.descr_viewvalues),
     has_key = gateway.interp2app(W_DictMultiObject.descr_has_key),
     clear = gateway.interp2app(W_DictMultiObject.descr_clear),
-    #get = gateway.interp2app(W_DictMultiObject.descr_get),
+    get = gateway.interp2app(W_DictMultiObject.descr_get),
     #pop = gateway.interp2app(W_DictMultiObject.descr_pop),
     #popitem = gateway.interp2app(W_DictMultiObject.descr_popitem),
     #setdefault = gateway.interp2app(W_DictMultiObject.descr_setdefault),


More information about the pypy-commit mailing list