Implementation of general objects' [[GetOwnProperty]], [[GetProperty]], [[CanPut]], [[HasProperty]], [[Delete]]; partial implementation of general objects' [[Get]], [[Put]], [[DefineOwnProperty]].

This commit is contained in:
Ruben Ayrapetyan
2014-07-29 14:32:01 +04:00
parent 5aaa853b9f
commit 299c94ee85
8 changed files with 681 additions and 193 deletions
@@ -26,21 +26,21 @@
* @{
*/
extern ecma_completion_value_t ecma_op_object_get( ecma_object_t *obj_p, ecma_array_first_chunk_t *property_name_p);
extern ecma_property_t *ecma_op_object_get_own_property( ecma_object_t *obj_p, ecma_array_first_chunk_t *property_name_p);
extern ecma_property_t *ecma_op_object_get_property( ecma_object_t *obj_p, ecma_array_first_chunk_t *property_name_p);
extern ecma_completion_value_t ecma_op_object_get( ecma_object_t *obj_p, ecma_char_t *property_name_p);
extern ecma_property_t *ecma_op_object_get_own_property( ecma_object_t *obj_p, ecma_char_t *property_name_p);
extern ecma_property_t *ecma_op_object_get_property( ecma_object_t *obj_p, ecma_char_t *property_name_p);
extern ecma_completion_value_t ecma_op_object_put( ecma_object_t *obj_p,
ecma_array_first_chunk_t *property_name_p,
ecma_char_t *property_name_p,
ecma_value_t value,
bool is_throw);
extern bool ecma_op_object_can_put( ecma_object_t *obj_p, ecma_array_first_chunk_t *property_name_p);
extern bool ecma_op_object_has_property( ecma_object_t *obj_p, ecma_array_first_chunk_t *property_name_p);
extern bool ecma_op_object_can_put( ecma_object_t *obj_p, ecma_char_t *property_name_p);
extern bool ecma_op_object_has_property( ecma_object_t *obj_p, ecma_char_t *property_name_p);
extern ecma_completion_value_t ecma_op_object_delete( ecma_object_t *obj_p,
ecma_array_first_chunk_t *property_name_p,
ecma_char_t *property_name_p,
bool is_throw);
extern ecma_completion_value_t ecma_op_object_default_value( ecma_object_t *obj_p, ecma_preferred_type_hint_t hint);
extern ecma_completion_value_t ecma_op_object_define_own_property( ecma_object_t *obj_p,
ecma_array_first_chunk_t *property_name_p,
ecma_char_t *property_name_p,
ecma_property_descriptor_t property_desc,
bool is_throw);