Author: Stephan <[email protected]>
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
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit