Fix ecma_get_property_descriptor_from_property for accessor properties with [[Get]] / [[Set]] set to undefined value
JerryScript-DCO-1.0-Signed-off-by: Kristof Kosztyo kkosztyo.u-szeged@partner.samsung.com
This commit is contained in:
@@ -1293,25 +1293,18 @@ ecma_get_property_descriptor_from_property (ecma_property_t *prop_p) /**< proper
|
||||
else if (prop_p->type == ECMA_PROPERTY_NAMEDACCESSOR)
|
||||
{
|
||||
prop_desc.get_p = ecma_get_named_accessor_property_getter (prop_p);
|
||||
prop_desc.is_get_defined = true;
|
||||
if (prop_desc.get_p != NULL)
|
||||
{
|
||||
prop_desc.is_get_defined = true;
|
||||
ecma_ref_object (prop_desc.get_p);
|
||||
}
|
||||
else
|
||||
{
|
||||
prop_desc.is_get_defined = false;
|
||||
}
|
||||
|
||||
prop_desc.set_p = ecma_get_named_accessor_property_setter (prop_p);
|
||||
prop_desc.is_set_defined = true;
|
||||
if (prop_desc.set_p != NULL)
|
||||
{
|
||||
prop_desc.is_set_defined = true;
|
||||
ecma_ref_object (prop_desc.set_p);
|
||||
}
|
||||
else
|
||||
{
|
||||
prop_desc.is_set_defined = false;
|
||||
}
|
||||
}
|
||||
|
||||
return prop_desc;
|
||||
|
||||
@@ -37,4 +37,21 @@ try {
|
||||
var desc = Object.getOwnPropertyDescriptor (obj, "prop");
|
||||
assert (desc.value === 2010);
|
||||
assert (typeof (desc.get) === 'undefined');
|
||||
}
|
||||
}
|
||||
|
||||
obj = {};
|
||||
var setter = function () {};
|
||||
|
||||
Object.defineProperty(obj, "prop", {
|
||||
set: setter,
|
||||
configurable: true
|
||||
});
|
||||
|
||||
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
|
||||
|
||||
Object.defineProperty(obj, "prop", {
|
||||
set: undefined
|
||||
});
|
||||
|
||||
var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
|
||||
assert (desc1.set === setter && desc2.set === undefined);
|
||||
|
||||
Reference in New Issue
Block a user