Implement the Symbol builtin object (#2601)

This patch contains the base functionalities that the new builtin object requires.

Currently unavailable:
 - print (Symbol('foo')) - this features requires the refactor of the print handler function
 - Several global symbol based builtin routines (follow up patch)

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu
This commit is contained in:
Robert Fancsik
2019-01-16 10:09:23 +01:00
committed by Robert Sipka
parent 08c7183ef8
commit 7e3d688e5b
43 changed files with 1896 additions and 212 deletions
@@ -187,7 +187,7 @@ ecma_builtin_helper_get_to_locale_string_at_index (ecma_object_t *obj_p, /**< th
*/
ecma_value_t
ecma_builtin_helper_object_get_properties (ecma_object_t *obj_p, /**< object */
bool only_enumerable_properties) /**< list enumerable properties? */
uint32_t opts) /**< any combination of ecma_list_properties_options_t */
{
JERRY_ASSERT (obj_p != NULL);
@@ -197,9 +197,7 @@ ecma_builtin_helper_object_get_properties (ecma_object_t *obj_p, /**< object */
uint32_t index = 0;
ecma_collection_header_t *props_p;
props_p = ecma_op_object_get_property_names (obj_p,
only_enumerable_properties ? ECMA_LIST_ENUMERABLE : ECMA_LIST_NO_OPTS);
ecma_collection_header_t *props_p = ecma_op_object_get_property_names (obj_p, opts);
ecma_value_t *ecma_value_p = ecma_collection_iterator_init (props_p);