[pypy-commit] lang-js default: 11.6.1-1
stepahn
noreply at buildbot.pypy.org
Fri Dec 28 11:34:23 CET 2012
Author: Stephan <stephan at stzal.com>
Branch:
Changeset: r242:75dd5156d622
Date: 2012-06-02 11:58 +0200
http://bitbucket.org/pypy/lang-js/changeset/75dd5156d622/
Log: 11.6.1-1
diff --git a/js/baseop.py b/js/baseop.py
--- a/js/baseop.py
+++ b/js/baseop.py
@@ -11,23 +11,26 @@
import math
-# 11.6.1
-def plus(ctx, nleft, nright):
- if isinstance(nleft, W_String) or isinstance(nright, W_String):
- sleft = nleft.to_string()
- sright = nright.to_string()
+# 11.6.1, 11.6.3
+def plus(ctx, lval, rval):
+ lprim = lval.ToPrimitive()
+ rprim = rval.ToPrimitive()
+
+ if isinstance(lprim, W_String) or isinstance(rprim, W_String):
+ sleft = lprim.to_string()
+ sright = rprim.to_string()
return W_String(sleft + sright)
# hot path
- if isinstance(nleft, W_IntNumber) and isinstance(nright, W_IntNumber):
- ileft = nleft.ToInteger()
- iright = nright.ToInteger()
+ if isinstance(lprim, W_IntNumber) and isinstance(rprim, W_IntNumber):
+ ileft = lprim.ToInteger()
+ iright = rprim.ToInteger()
try:
return W_IntNumber(ovfcheck(ileft + iright))
except OverflowError:
return W_FloatNumber(float(ileft) + float(iright))
else:
- fleft = nleft.ToNumber()
- fright = nright.ToNumber()
+ fleft = lprim.ToNumber()
+ fright = rprim.ToNumber()
return W_FloatNumber(fleft + fright)
def increment(ctx, nleft, constval=1):
diff --git a/js/jsobj.py b/js/jsobj.py
--- a/js/jsobj.py
+++ b/js/jsobj.py
@@ -592,6 +592,9 @@
class W_BooleanObject(W__PrimitiveObject):
_class_ = 'Boolean'
+ def __str__(self):
+ return u'W_BooleanObject(%s)' % (str(self._primitive_value_))
+
class W_NumericObject(W__PrimitiveObject):
_class_ = 'Number'
More information about the pypy-commit
mailing list