Author: Stephan <step...@stzal.com>
Branch: 
Changeset: r311:8f3a92569f8b
Date: 2012-12-11 16:20 +0100
http://bitbucket.org/pypy/lang-js/changeset/8f3a92569f8b/

Log:    fix descriptor attribute access

diff --git a/js/jsobj.py b/js/jsobj.py
--- a/js/jsobj.py
+++ b/js/jsobj.py
@@ -218,10 +218,10 @@
         if is_data_descriptor(desc):
             return desc.value
 
-        getter = desc.getter
-        if getter is None:
+        if desc.has_set_getter() is False:
             return w_Undefined
 
+        getter = desc.getter
         res = getter.Call(this=self)
         return res
 
@@ -1266,7 +1266,7 @@
 
         # 3
         if p == u'length':
-            if desc.value is None:
+            if desc.has_set_value() is False:
                 return W_BasicObject.define_own_property(self, u'length', 
desc, throw)
             new_len_desc = desc.copy()
             new_len = desc.value.ToUInt32()
@@ -1284,12 +1284,12 @@
                 return reject(throw, p)
 
             # h
-            if new_len_desc.writable is None or new_len_desc.writable is True:
+            if new_len_desc.has_set_writable() is False or 
new_len_desc.writable is True:
                 new_writable = True
             # i
             else:
+                new_writable = False
                 new_len_desc.writable = True
-                new_writable = False
 
             # j
             succeeded = W_BasicObject.define_own_property(self, u'length', 
new_len_desc, throw)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to