Author: Stephan <[email protected]>
Branch:
Changeset: r315:6e6a17017a60
Date: 2012-12-11 16:32 +0100
http://bitbucket.org/pypy/lang-js/changeset/6e6a17017a60/
Log: assert some w_types
diff --git a/js/jsobj.py b/js/jsobj.py
--- a/js/jsobj.py
+++ b/js/jsobj.py
@@ -281,6 +281,7 @@
if proto is w_Null:
return None
+ assert isinstance(proto, W_BasicObject)
return proto.get_property(p)
# 8.12.5
@@ -324,6 +325,7 @@
if proto is w_Null or proto is w_Undefined:
return self.extensible()
+ assert isinstance(proto, W_BasicObject)
inherited = proto.get_property(p)
if inherited is None:
return self.extensible()
@@ -380,7 +382,9 @@
def _default_value_string_(self):
to_string = self.get(u'toString')
+
if to_string.is_callable():
+ assert isinstance(to_string, W_BasicFunction)
_str = to_string.Call(this=self)
if isinstance(_str, W_Primitive):
return _str
@@ -388,6 +392,7 @@
def _default_value_number_(self):
value_of = self.get(u'valueOf')
if value_of.is_callable():
+ assert isinstance(value_of, W_BasicFunction)
val = value_of.Call(this=self)
if isinstance(val, W_Primitive):
return val
@@ -512,6 +517,7 @@
proto = self.prototype()
if not isnull_or_undefined(proto):
+ assert isinstance(proto, W_BasicObject)
proto_d = proto._named_properties_dict()
else:
proto_d = {}
@@ -638,6 +644,7 @@
raise JsTypeError(u'has_instance')
while True:
+ assert isinstance(v, W_BasicObject)
v = v.prototype()
if isnull_or_undefined(v):
return False
diff --git a/js/opcodes.py b/js/opcodes.py
--- a/js/opcodes.py
+++ b/js/opcodes.py
@@ -677,8 +677,9 @@
def common_call(ctx, r1, args, this, name):
+ from js.jsobj import W_BasicFunction, W_List
+ assert isinstance(args, W_List)
# TODO
- from js.jsobj import W_BasicFunction
if not (isinstance(r1, W_BasicFunction)):
#err = (u"%s is not a callable (%s)"%(r1.to_string(),
name.to_string()))
err = u"is not a callable (%s)"
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit