[pypy-commit] pypy remove-dict-smm: Fix translation.
Manuel Jacob
noreply at buildbot.pypy.org
Fri May 17 11:26:56 CEST 2013
Author: Manuel Jacob
Branch: remove-dict-smm
Changeset: r64249:aeb9cb3101c1
Date: 2013-05-17 11:24 +0200
http://bitbucket.org/pypy/pypy/changeset/aeb9cb3101c1/
Log: Fix translation.
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
@@ -40,6 +40,19 @@
w_dct.length() <= UNROLL_CUTOFF)
+def negate(f):
+ def _negator(self, space, w_other):
+ # no need to use space.is_ / space.not_
+ tmp = f(self, space, w_other)
+ if tmp is space.w_NotImplemented:
+ return space.w_NotImplemented
+ elif tmp is space.w_False:
+ return space.w_True
+ else:
+ return space.w_False
+ _negator.func_name = 'negate-%s' % f.func_name
+ return _negator
+
class W_DictMultiObject(W_Root):
@staticmethod
def allocate_and_init_instance(space, w_type=None, module=False,
@@ -193,6 +206,10 @@
w_res = space.lt(w_leftval, w_rightval)
return w_res
+ descr_ne = negate(descr_eq)
+ descr_le = negate(descr_gt)
+ descr_ge = negate(descr_lt)
+
def descr_len(self, space):
return space.wrap(self.length())
@@ -373,19 +390,6 @@
dictrepr = app.interphook("dictrepr")
-def negate(f):
- def _negator(space, w_self, w_other):
- # no need to use space.is_ / space.not_
- tmp = f(w_self, space, w_other)
- if tmp == space.w_NotImplemented:
- return space.w_NotImplemented
- elif tmp == space.w_False:
- return space.w_True
- else:
- return space.w_False
- _negator.func_name = 'negate-%s' % f
- return _negator
-
W_DictMultiObject.typedef = StdTypeDef("dict",
__doc__ = '''dict() -> new empty dictionary.
dict(mapping) -> new dictionary initialized from a mapping object\'s
@@ -404,11 +408,11 @@
__init__ = gateway.interp2app(W_DictMultiObject.descr_init),
__eq__ = gateway.interp2app(W_DictMultiObject.descr_eq),
- __ne__ = gateway.interp2app(negate(W_DictMultiObject.descr_eq)),
+ __ne__ = gateway.interp2app(W_DictMultiObject.descr_ne),
__lt__ = gateway.interp2app(W_DictMultiObject.descr_lt),
- __le__ = gateway.interp2app(negate(W_DictMultiObject.descr_gt)),
+ __le__ = gateway.interp2app(W_DictMultiObject.descr_le),
__gt__ = gateway.interp2app(W_DictMultiObject.descr_gt),
- __ge__ = gateway.interp2app(negate(W_DictMultiObject.descr_lt)),
+ __ge__ = gateway.interp2app(W_DictMultiObject.descr_ge),
__len__ = gateway.interp2app(W_DictMultiObject.descr_len),
__iter__ = gateway.interp2app(W_DictMultiObject.descr_iter),
More information about the pypy-commit
mailing list