Introducing constructor for ecma_property_descriptor_t.
This commit is contained in:
@@ -742,6 +742,38 @@ ecma_free_array( ecma_array_first_chunk_t *first_chunk_p) /**< first chunk of th
|
||||
}
|
||||
} /* ecma_free_array */
|
||||
|
||||
/**
|
||||
* Construct empty property descriptor.
|
||||
*
|
||||
* @return property descriptor with all *_defined properties set to false,
|
||||
* and rest properties set to default values (ECMA-262 v5, Table 7).
|
||||
*/
|
||||
ecma_property_descriptor_t
|
||||
ecma_make_empty_property_descriptor( void)
|
||||
{
|
||||
ecma_property_descriptor_t prop_desc = (ecma_property_descriptor_t) {
|
||||
.is_value_defined = false,
|
||||
.value = ecma_make_simple_value( ECMA_SIMPLE_VALUE_UNDEFINED),
|
||||
|
||||
.is_writable_defined = false,
|
||||
.writable = ECMA_PROPERTY_NOT_WRITABLE,
|
||||
|
||||
.is_enumerable_defined = false,
|
||||
.enumerable = ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||
|
||||
.is_configurable_defined = false,
|
||||
.configurable = ECMA_PROPERTY_NOT_CONFIGURABLE,
|
||||
|
||||
.is_get_defined = false,
|
||||
.get_p = NULL,
|
||||
|
||||
.is_set_defined = false,
|
||||
.set_p = NULL
|
||||
};
|
||||
|
||||
return prop_desc;
|
||||
} /* ecma_make_empty_property_descriptor */
|
||||
|
||||
/**
|
||||
* @}
|
||||
* @}
|
||||
|
||||
@@ -69,10 +69,10 @@ extern bool ecma_is_completion_value_normal_true( ecma_completion_value_t value)
|
||||
extern bool ecma_is_completion_value_normal_false( ecma_completion_value_t value);
|
||||
extern bool ecma_is_empty_completion_value( ecma_completion_value_t value);
|
||||
|
||||
/* ecma-helpers.c */
|
||||
extern ecma_object_t* ecma_create_object( ecma_object_t *prototype_object_p, bool is_extensible, ecma_object_type_t type);
|
||||
extern ecma_object_t* ecma_create_lexical_environment( ecma_object_t *outer_lexical_environment_p, ecma_lexical_environment_type_t type);
|
||||
|
||||
/* ecma-helpers.c */
|
||||
extern ecma_property_t* ecma_create_internal_property(ecma_object_t *object_p, ecma_internal_property_id_t property_id);
|
||||
extern ecma_property_t* ecma_find_internal_property(ecma_object_t *object_p, ecma_internal_property_id_t property_id);
|
||||
extern ecma_property_t* ecma_get_internal_property(ecma_object_t *object_p, ecma_internal_property_id_t property_id);
|
||||
@@ -97,6 +97,8 @@ extern bool ecma_compare_zt_string_to_ecma_string( const ecma_char_t *string_p,
|
||||
extern bool ecma_compare_ecma_string_to_ecma_string(const ecma_array_first_chunk_t *string1_p, const ecma_array_first_chunk_t *string2_p);
|
||||
extern void ecma_free_array( ecma_array_first_chunk_t *first_chunk_p);
|
||||
|
||||
extern ecma_property_descriptor_t ecma_make_empty_property_descriptor( void);
|
||||
|
||||
#endif /* !JERRY_ECMA_HELPERS_H */
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user