Author: Stephan <step...@stzal.com>
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
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to