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