[pypy-commit] lang-js default: split adding and setting object properties
stepahn
noreply at buildbot.pypy.org
Fri Dec 28 11:35:26 CET 2012
Author: Stephan <stephan at 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
More information about the pypy-commit
mailing list