Author: Stephan <step...@stzal.com> Branch: Changeset: r304:9d320448401d Date: 2012-09-04 16:10 +0200 http://bitbucket.org/pypy/lang-js/changeset/9d320448401d/
Log: split adding and setting object properties diff --git a/js/jsobj.py b/js/jsobj.py --- a/js/jsobj.py +++ b/js/jsobj.py @@ -240,8 +240,6 @@ if self._property_map_.not_found(idx): return - elif idx >= len(self._property_slots_): - return prop = self._property_slots_[idx] return prop @@ -255,7 +253,7 @@ del(self._property_slots_[idx]) self._property_map_ = self._property_map_.delete(name) - def _set_prop(self, name, value): + def _add_prop(self, name, value): idx = self._property_map_.lookup(name) if self._property_map_.not_found(idx): @@ -267,6 +265,10 @@ self._property_slots_[idx] = value + def _set_prop(self, name, value): + idx = self._property_map_.lookup(name) + self._property_slots_[idx] = value + # 8.12.2 def get_property(self, p): assert p is not None and isinstance(p, unicode) @@ -411,7 +413,7 @@ desc.enumerable, desc.configurable ) - self._set_prop(p, new_prop) + self._add_prop(p, new_prop) # 4.b else: assert is_accessor_descriptor(desc) is True @@ -421,7 +423,7 @@ desc.enumerable, desc.configurable ) - self._set_prop(p, new_prop) + self._add_prop(p, new_prop) # 4.c return True _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit