Change jerry_get_own_property_descriptor return type (#4675)
JerryScript-DCO-1.0-Signed-off-by: Gergo Csizi csgergo92@gmail.com
This commit is contained in:
@@ -8475,7 +8475,7 @@ Construct property descriptor from specified property.
|
||||
**Prototype**
|
||||
|
||||
```c
|
||||
bool
|
||||
jerry_value_t
|
||||
jerry_get_own_property_descriptor (const jerry_value_t obj_val,
|
||||
const jerry_value_t prop_name_val,
|
||||
jerry_property_descriptor_t *prop_desc_p);
|
||||
@@ -8486,6 +8486,8 @@ jerry_get_own_property_descriptor (const jerry_value_t obj_val,
|
||||
- `prop_desc_p` - pointer to property descriptor
|
||||
- return value
|
||||
|
||||
*Changed in version [[NEXT_RELEASE]]*: return value is changed to `jerry_value_t`
|
||||
|
||||
**Example**
|
||||
|
||||
```c
|
||||
|
||||
@@ -3830,7 +3830,7 @@ jerry_define_own_property (const jerry_value_t obj_val, /**< object value */
|
||||
* @return true - if success, the prop_desc_p fields contains the property info
|
||||
* false - otherwise, the prop_desc_p is unchanged
|
||||
*/
|
||||
bool
|
||||
jerry_value_t
|
||||
jerry_get_own_property_descriptor (const jerry_value_t obj_val, /**< object value */
|
||||
const jerry_value_t prop_name_val, /**< property name (string value) */
|
||||
jerry_property_descriptor_t *prop_desc_p) /**< property descriptor */
|
||||
@@ -3840,7 +3840,7 @@ jerry_get_own_property_descriptor (const jerry_value_t obj_val, /**< object val
|
||||
if (!ecma_is_value_object (obj_val)
|
||||
|| !ecma_is_value_prop_name (prop_name_val))
|
||||
{
|
||||
return false;
|
||||
return ECMA_VALUE_FALSE;
|
||||
}
|
||||
|
||||
ecma_property_descriptor_t prop_desc;
|
||||
@@ -3852,14 +3852,13 @@ jerry_get_own_property_descriptor (const jerry_value_t obj_val, /**< object val
|
||||
#if JERRY_BUILTIN_PROXY
|
||||
if (ECMA_IS_VALUE_ERROR (status))
|
||||
{
|
||||
// TODO: Due to Proxies the return value must be changed to jerry_value_t on next release
|
||||
jcontext_release_exception ();
|
||||
return jerry_throw (status);
|
||||
}
|
||||
#endif /* JERRY_BUILTIN_PROXY */
|
||||
|
||||
if (!ecma_is_value_true (status))
|
||||
{
|
||||
return false;
|
||||
return ECMA_VALUE_FALSE;
|
||||
}
|
||||
|
||||
/* The flags are always filled in the returned descriptor. */
|
||||
@@ -3902,7 +3901,7 @@ jerry_get_own_property_descriptor (const jerry_value_t obj_val, /**< object val
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
return ECMA_VALUE_TRUE;
|
||||
} /* jerry_get_own_property_descriptor */
|
||||
|
||||
/**
|
||||
|
||||
@@ -225,9 +225,9 @@ jerry_value_t jerry_define_own_property (const jerry_value_t obj_val,
|
||||
const jerry_value_t prop_name_val,
|
||||
const jerry_property_descriptor_t *prop_desc_p);
|
||||
|
||||
bool jerry_get_own_property_descriptor (const jerry_value_t obj_val,
|
||||
const jerry_value_t prop_name_val,
|
||||
jerry_property_descriptor_t *prop_desc_p);
|
||||
jerry_value_t jerry_get_own_property_descriptor (const jerry_value_t obj_val,
|
||||
const jerry_value_t prop_name_val,
|
||||
jerry_property_descriptor_t *prop_desc_p);
|
||||
void jerry_property_descriptor_free (const jerry_property_descriptor_t *prop_desc_p);
|
||||
|
||||
jerry_value_t jerry_call_function (const jerry_value_t func_obj_val, const jerry_value_t this_val,
|
||||
|
||||
@@ -63,8 +63,9 @@ main (void)
|
||||
|
||||
/* Test: get own property descriptor */
|
||||
prop_desc = jerry_property_descriptor_create ();
|
||||
bool is_ok = jerry_get_own_property_descriptor (global_obj_val, prop_name, &prop_desc);
|
||||
TEST_ASSERT (is_ok);
|
||||
jerry_value_t is_ok = jerry_get_own_property_descriptor (global_obj_val, prop_name, &prop_desc);
|
||||
TEST_ASSERT (jerry_value_is_boolean (is_ok) && jerry_get_boolean_value (is_ok));
|
||||
jerry_release_value (is_ok);
|
||||
TEST_ASSERT (prop_desc.flags & JERRY_PROP_IS_VALUE_DEFINED);
|
||||
TEST_ASSERT (jerry_value_is_string (prop_desc.value));
|
||||
TEST_ASSERT (!(prop_desc.flags & JERRY_PROP_IS_WRITABLE));
|
||||
@@ -86,7 +87,8 @@ main (void)
|
||||
jerry_release_value (target);
|
||||
jerry_release_value (handler);
|
||||
is_ok = jerry_get_own_property_descriptor (proxy, prop_name, &prop_desc);
|
||||
TEST_ASSERT (!is_ok);
|
||||
TEST_ASSERT (jerry_value_is_boolean (is_ok) && !jerry_get_boolean_value (is_ok));
|
||||
jerry_release_value (is_ok);
|
||||
jerry_release_value (proxy);
|
||||
}
|
||||
|
||||
@@ -102,7 +104,8 @@ main (void)
|
||||
jerry_release_value (res);
|
||||
jerry_property_descriptor_free (&prop_desc);
|
||||
is_ok = jerry_get_own_property_descriptor (global_obj_val, prop_name, &prop_desc);
|
||||
TEST_ASSERT (is_ok);
|
||||
TEST_ASSERT (jerry_value_is_boolean (is_ok) && jerry_get_boolean_value (is_ok));
|
||||
jerry_release_value (is_ok);
|
||||
TEST_ASSERT (!(prop_desc.flags & JERRY_PROP_IS_WRITABLE));
|
||||
TEST_ASSERT (prop_desc.flags & JERRY_PROP_IS_ENUMERABLE);
|
||||
TEST_ASSERT (!(prop_desc.flags & JERRY_PROP_IS_CONFIGURABLE));
|
||||
|
||||
Reference in New Issue
Block a user