mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Replacing items of ecma_object_class_t with corresponding ecma magic strings.
This commit is contained in:
parent
897ed2d5c2
commit
a0a2ec2cea
@ -94,7 +94,7 @@ ecma_builtin_array_object_is_array (ecma_value_t arg) /**< first argument */
|
||||
ecma_property_t *class_prop_p = ecma_get_internal_property (obj_p,
|
||||
ECMA_INTERNAL_PROPERTY_CLASS);
|
||||
|
||||
if (class_prop_p->u.internal_property.value == ECMA_OBJECT_CLASS_ARRAY)
|
||||
if (class_prop_p->u.internal_property.value == ECMA_MAGIC_STRING_ARRAY_UL)
|
||||
{
|
||||
is_array = ECMA_SIMPLE_VALUE_TRUE;
|
||||
}
|
||||
|
||||
@ -167,7 +167,7 @@ ecma_builtin_string_prototype_object_to_string (ecma_value_t this) /**< this arg
|
||||
|
||||
ecma_property_t *class_prop_p = ecma_get_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
||||
|
||||
if (class_prop_p->u.internal_property.value == ECMA_OBJECT_CLASS_STRING)
|
||||
if (class_prop_p->u.internal_property.value == ECMA_MAGIC_STRING_STRING_UL)
|
||||
{
|
||||
ecma_property_t *prim_value_prop_p = ecma_get_internal_property (obj_p,
|
||||
ECMA_INTERNAL_PROPERTY_PRIMITIVE_STRING_VALUE);
|
||||
|
||||
@ -61,37 +61,37 @@ ecma_builtin_bin_search_for_magic_string_id_in_array (const ecma_magic_string_id
|
||||
#define ECMA_BUILTIN_LIST(macro) \
|
||||
macro (OBJECT_PROTOTYPE, \
|
||||
TYPE_GENERAL, \
|
||||
CLASS_OBJECT, \
|
||||
OBJECT_UL, \
|
||||
ECMA_BUILTIN_ID__COUNT /* no prototype */, \
|
||||
object_prototype) \
|
||||
macro (STRING_PROTOTYPE, \
|
||||
TYPE_GENERAL, \
|
||||
CLASS_STRING, \
|
||||
STRING_UL, \
|
||||
ECMA_BUILTIN_ID__COUNT /* FIXME: ECMA_BUILTIN_ID_OBJECT_PROTOTYPE */, \
|
||||
string_prototype) \
|
||||
macro (OBJECT, \
|
||||
TYPE_FUNCTION, \
|
||||
CLASS_OBJECT, \
|
||||
OBJECT_UL, \
|
||||
ECMA_BUILTIN_ID__COUNT /* FIXME: ECMA_BUILTIN_ID_OBJECT_PROTOTYPE */, \
|
||||
object) \
|
||||
macro (MATH, \
|
||||
TYPE_GENERAL, \
|
||||
CLASS_MATH, \
|
||||
MATH_UL, \
|
||||
ECMA_BUILTIN_ID__COUNT /* FIXME: ECMA_BUILTIN_ID_OBJECT_PROTOTYPE */, \
|
||||
math) \
|
||||
macro (ARRAY, \
|
||||
TYPE_FUNCTION, \
|
||||
CLASS_ARRAY, \
|
||||
ARRAY_UL, \
|
||||
ECMA_BUILTIN_ID__COUNT /* FIXME: ECMA_BUILTIN_ID_ARRAY_PROTOTYPE */, \
|
||||
array) \
|
||||
macro (STRING, \
|
||||
TYPE_FUNCTION, \
|
||||
CLASS_STRING, \
|
||||
STRING_UL, \
|
||||
ECMA_BUILTIN_ID_STRING_PROTOTYPE, \
|
||||
string) \
|
||||
macro (GLOBAL, \
|
||||
TYPE_GENERAL, \
|
||||
CLASS_OBJECT, \
|
||||
OBJECT_UL, \
|
||||
ECMA_BUILTIN_ID__COUNT /* no prototype */, \
|
||||
global)
|
||||
|
||||
|
||||
@ -88,7 +88,7 @@ static ecma_object_t*
|
||||
ecma_builtin_init_object (ecma_builtin_id_t obj_builtin_id, /**< built-in ID */
|
||||
ecma_object_t* prototype_obj_p, /**< prototype object */
|
||||
ecma_object_type_t obj_type, /**< object's type */
|
||||
ecma_object_class_t obj_class, /**< object's class */
|
||||
ecma_magic_string_id_t obj_class, /**< object's class */
|
||||
ecma_length_t property_number) /**< number of the object's properties */
|
||||
{
|
||||
ecma_object_t *object_obj_p = ecma_create_object (prototype_obj_p, true, obj_type);
|
||||
@ -155,7 +155,7 @@ ecma_init_builtins (void)
|
||||
ecma_object_t *builtin_obj_p = ecma_builtin_init_object (ECMA_BUILTIN_ID_ ## builtin_id, \
|
||||
prototype_obj_p, \
|
||||
ECMA_OBJECT_ ## object_type, \
|
||||
ECMA_OBJECT_ ## object_class, \
|
||||
ECMA_MAGIC_STRING_ ## object_class, \
|
||||
ecma_builtin_ ## lowercase_name ## _property_number); \
|
||||
ecma_builtin_objects [ECMA_BUILTIN_ID_ ## builtin_id] = builtin_obj_p; \
|
||||
}
|
||||
|
||||
@ -336,25 +336,6 @@ typedef enum
|
||||
ECMA_OBJECT_TYPE_HOST /**< Host object */
|
||||
} ecma_object_type_t;
|
||||
|
||||
/**
|
||||
* ECMA-defined object classes
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ECMA_OBJECT_CLASS_OBJECT, /**< "Object" */
|
||||
ECMA_OBJECT_CLASS_FUNCTION, /**< "Function" */
|
||||
ECMA_OBJECT_CLASS_ARGUMENTS, /**< "Arguments" */
|
||||
ECMA_OBJECT_CLASS_ARRAY, /**< "Array" */
|
||||
ECMA_OBJECT_CLASS_BOOLEAN, /**< "Boolean" */
|
||||
ECMA_OBJECT_CLASS_DATE, /**< "Date" */
|
||||
ECMA_OBJECT_CLASS_ERROR, /**< "Error" */
|
||||
ECMA_OBJECT_CLASS_JSON, /**< "JSON" */
|
||||
ECMA_OBJECT_CLASS_MATH, /**< "Math" */
|
||||
ECMA_OBJECT_CLASS_NUMBER, /**< "Number" */
|
||||
ECMA_OBJECT_CLASS_REGEXP, /**< "RegExp" */
|
||||
ECMA_OBJECT_CLASS_STRING /**< "String" */
|
||||
} ecma_object_class_t;
|
||||
|
||||
/**
|
||||
* Description of ECMA-object or lexical environment
|
||||
* (depending on is_lexical_environment).
|
||||
@ -676,6 +657,7 @@ typedef enum
|
||||
ECMA_MAGIC_STRING_OBJECT_UL, /**< "Object" */
|
||||
ECMA_MAGIC_STRING_FUNCTION_UL, /**< "Function" */
|
||||
ECMA_MAGIC_STRING_ARRAY_UL, /**< "Array" */
|
||||
ECMA_MAGIC_STRING_ARGUMENTS_UL, /**< "Arguments" */
|
||||
ECMA_MAGIC_STRING_STRING_UL, /**< "String" */
|
||||
ECMA_MAGIC_STRING_BOOLEAN_UL, /**< "Boolean" */
|
||||
ECMA_MAGIC_STRING_NUMBER_UL, /**< "Number" */
|
||||
|
||||
@ -1272,6 +1272,7 @@ ecma_get_magic_string_zt (ecma_magic_string_id_t id) /**< magic string id */
|
||||
case ECMA_MAGIC_STRING_OBJECT_UL: return (ecma_char_t*) "Object";
|
||||
case ECMA_MAGIC_STRING_FUNCTION_UL: return (ecma_char_t*) "Function";
|
||||
case ECMA_MAGIC_STRING_ARRAY_UL: return (ecma_char_t*) "Array";
|
||||
case ECMA_MAGIC_STRING_ARGUMENTS_UL: return (ecma_char_t*) "Arguments";
|
||||
case ECMA_MAGIC_STRING_STRING_UL: return (ecma_char_t*) "String";
|
||||
case ECMA_MAGIC_STRING_BOOLEAN_UL: return (ecma_char_t*) "Boolean";
|
||||
case ECMA_MAGIC_STRING_NUMBER_UL: return (ecma_char_t*) "Number";
|
||||
|
||||
@ -103,7 +103,7 @@ ecma_op_create_array_object (ecma_value_t *arguments_list_p, /**< list of argume
|
||||
ecma_object_t *obj_p = ecma_create_object (NULL, true, ECMA_OBJECT_TYPE_ARRAY);
|
||||
|
||||
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
||||
class_prop_p->u.internal_property.value = ECMA_OBJECT_CLASS_ARRAY;
|
||||
class_prop_p->u.internal_property.value = ECMA_MAGIC_STRING_ARRAY_UL;
|
||||
|
||||
ecma_string_t *length_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
||||
ecma_number_t *length_num_p = ecma_alloc_number ();
|
||||
|
||||
@ -155,7 +155,7 @@ ecma_op_create_function_object (ecma_string_t* formal_parameter_list_p[], /**< f
|
||||
|
||||
// 3.
|
||||
ecma_property_t *class_prop_p = ecma_create_internal_property (f, ECMA_INTERNAL_PROPERTY_CLASS);
|
||||
class_prop_p->u.internal_property.value = ECMA_OBJECT_CLASS_FUNCTION;
|
||||
class_prop_p->u.internal_property.value = ECMA_MAGIC_STRING_FUNCTION_UL;
|
||||
|
||||
// 9.
|
||||
ecma_property_t *scope_prop_p = ecma_create_internal_property (f, ECMA_INTERNAL_PROPERTY_SCOPE);
|
||||
@ -615,7 +615,7 @@ ecma_op_function_construct (ecma_object_t *func_obj_p, /**< Function object */
|
||||
|
||||
// 3.
|
||||
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
||||
class_prop_p->u.internal_property.value = ECMA_OBJECT_CLASS_FUNCTION;
|
||||
class_prop_p->u.internal_property.value = ECMA_MAGIC_STRING_FUNCTION_UL;
|
||||
|
||||
ecma_deref_object (prototype_p);
|
||||
|
||||
|
||||
@ -59,7 +59,7 @@ ecma_create_arguments_object (ecma_object_t *func_obj_p, /**< callee function */
|
||||
|
||||
// 4.
|
||||
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
||||
class_prop_p->u.internal_property.value = ECMA_OBJECT_CLASS_ARGUMENTS;
|
||||
class_prop_p->u.internal_property.value = ECMA_MAGIC_STRING_ARGUMENTS_UL;
|
||||
|
||||
// 7.
|
||||
ecma_property_descriptor_t prop_desc = ecma_make_empty_property_descriptor ();
|
||||
|
||||
@ -64,7 +64,7 @@ ecma_op_create_object_object_noarg (void)
|
||||
ecma_object_t *obj_p = ecma_create_object (NULL, true, ECMA_OBJECT_TYPE_GENERAL);
|
||||
|
||||
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
||||
class_prop_p->u.internal_property.value = ECMA_OBJECT_CLASS_OBJECT;
|
||||
class_prop_p->u.internal_property.value = ECMA_MAGIC_STRING_OBJECT_UL;
|
||||
|
||||
return obj_p;
|
||||
} /* ecma_op_create_object_object_noarg */
|
||||
@ -558,9 +558,9 @@ ecma_op_general_object_default_value (ecma_object_t *obj_p, /**< the object */
|
||||
{
|
||||
ecma_property_t *class_prop_p = ecma_get_internal_property (obj_p,
|
||||
ECMA_INTERNAL_PROPERTY_CLASS);
|
||||
ecma_object_class_t obj_class = (ecma_object_class_t) class_prop_p->u.internal_property.value;
|
||||
ecma_magic_string_id_t obj_class = (ecma_magic_string_id_t) class_prop_p->u.internal_property.value;
|
||||
|
||||
if (obj_class == ECMA_OBJECT_CLASS_DATE)
|
||||
if (obj_class == ECMA_MAGIC_STRING_DATE_UL)
|
||||
{
|
||||
hint = ECMA_PREFERRED_TYPE_STRING;
|
||||
}
|
||||
|
||||
@ -76,7 +76,7 @@ ecma_op_create_string_object (ecma_value_t *arguments_list_p, /**< list of argum
|
||||
ecma_deref_object (prototype_obj_p);
|
||||
|
||||
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
||||
class_prop_p->u.internal_property.value = ECMA_OBJECT_CLASS_STRING;
|
||||
class_prop_p->u.internal_property.value = ECMA_MAGIC_STRING_STRING_UL;
|
||||
|
||||
ecma_property_t *prim_value_prop_p = ecma_create_internal_property (obj_p,
|
||||
ECMA_INTERNAL_PROPERTY_PRIMITIVE_STRING_VALUE);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user