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_property_t *class_prop_p = ecma_get_internal_property (obj_p,
|
||||||
ECMA_INTERNAL_PROPERTY_CLASS);
|
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;
|
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);
|
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_property_t *prim_value_prop_p = ecma_get_internal_property (obj_p,
|
||||||
ECMA_INTERNAL_PROPERTY_PRIMITIVE_STRING_VALUE);
|
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) \
|
#define ECMA_BUILTIN_LIST(macro) \
|
||||||
macro (OBJECT_PROTOTYPE, \
|
macro (OBJECT_PROTOTYPE, \
|
||||||
TYPE_GENERAL, \
|
TYPE_GENERAL, \
|
||||||
CLASS_OBJECT, \
|
OBJECT_UL, \
|
||||||
ECMA_BUILTIN_ID__COUNT /* no prototype */, \
|
ECMA_BUILTIN_ID__COUNT /* no prototype */, \
|
||||||
object_prototype) \
|
object_prototype) \
|
||||||
macro (STRING_PROTOTYPE, \
|
macro (STRING_PROTOTYPE, \
|
||||||
TYPE_GENERAL, \
|
TYPE_GENERAL, \
|
||||||
CLASS_STRING, \
|
STRING_UL, \
|
||||||
ECMA_BUILTIN_ID__COUNT /* FIXME: ECMA_BUILTIN_ID_OBJECT_PROTOTYPE */, \
|
ECMA_BUILTIN_ID__COUNT /* FIXME: ECMA_BUILTIN_ID_OBJECT_PROTOTYPE */, \
|
||||||
string_prototype) \
|
string_prototype) \
|
||||||
macro (OBJECT, \
|
macro (OBJECT, \
|
||||||
TYPE_FUNCTION, \
|
TYPE_FUNCTION, \
|
||||||
CLASS_OBJECT, \
|
OBJECT_UL, \
|
||||||
ECMA_BUILTIN_ID__COUNT /* FIXME: ECMA_BUILTIN_ID_OBJECT_PROTOTYPE */, \
|
ECMA_BUILTIN_ID__COUNT /* FIXME: ECMA_BUILTIN_ID_OBJECT_PROTOTYPE */, \
|
||||||
object) \
|
object) \
|
||||||
macro (MATH, \
|
macro (MATH, \
|
||||||
TYPE_GENERAL, \
|
TYPE_GENERAL, \
|
||||||
CLASS_MATH, \
|
MATH_UL, \
|
||||||
ECMA_BUILTIN_ID__COUNT /* FIXME: ECMA_BUILTIN_ID_OBJECT_PROTOTYPE */, \
|
ECMA_BUILTIN_ID__COUNT /* FIXME: ECMA_BUILTIN_ID_OBJECT_PROTOTYPE */, \
|
||||||
math) \
|
math) \
|
||||||
macro (ARRAY, \
|
macro (ARRAY, \
|
||||||
TYPE_FUNCTION, \
|
TYPE_FUNCTION, \
|
||||||
CLASS_ARRAY, \
|
ARRAY_UL, \
|
||||||
ECMA_BUILTIN_ID__COUNT /* FIXME: ECMA_BUILTIN_ID_ARRAY_PROTOTYPE */, \
|
ECMA_BUILTIN_ID__COUNT /* FIXME: ECMA_BUILTIN_ID_ARRAY_PROTOTYPE */, \
|
||||||
array) \
|
array) \
|
||||||
macro (STRING, \
|
macro (STRING, \
|
||||||
TYPE_FUNCTION, \
|
TYPE_FUNCTION, \
|
||||||
CLASS_STRING, \
|
STRING_UL, \
|
||||||
ECMA_BUILTIN_ID_STRING_PROTOTYPE, \
|
ECMA_BUILTIN_ID_STRING_PROTOTYPE, \
|
||||||
string) \
|
string) \
|
||||||
macro (GLOBAL, \
|
macro (GLOBAL, \
|
||||||
TYPE_GENERAL, \
|
TYPE_GENERAL, \
|
||||||
CLASS_OBJECT, \
|
OBJECT_UL, \
|
||||||
ECMA_BUILTIN_ID__COUNT /* no prototype */, \
|
ECMA_BUILTIN_ID__COUNT /* no prototype */, \
|
||||||
global)
|
global)
|
||||||
|
|
||||||
|
|||||||
@ -88,7 +88,7 @@ static ecma_object_t*
|
|||||||
ecma_builtin_init_object (ecma_builtin_id_t obj_builtin_id, /**< built-in ID */
|
ecma_builtin_init_object (ecma_builtin_id_t obj_builtin_id, /**< built-in ID */
|
||||||
ecma_object_t* prototype_obj_p, /**< prototype object */
|
ecma_object_t* prototype_obj_p, /**< prototype object */
|
||||||
ecma_object_type_t obj_type, /**< object's type */
|
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_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);
|
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, \
|
ecma_object_t *builtin_obj_p = ecma_builtin_init_object (ECMA_BUILTIN_ID_ ## builtin_id, \
|
||||||
prototype_obj_p, \
|
prototype_obj_p, \
|
||||||
ECMA_OBJECT_ ## object_type, \
|
ECMA_OBJECT_ ## object_type, \
|
||||||
ECMA_OBJECT_ ## object_class, \
|
ECMA_MAGIC_STRING_ ## object_class, \
|
||||||
ecma_builtin_ ## lowercase_name ## _property_number); \
|
ecma_builtin_ ## lowercase_name ## _property_number); \
|
||||||
ecma_builtin_objects [ECMA_BUILTIN_ID_ ## builtin_id] = builtin_obj_p; \
|
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_HOST /**< Host object */
|
||||||
} ecma_object_type_t;
|
} 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
|
* Description of ECMA-object or lexical environment
|
||||||
* (depending on is_lexical_environment).
|
* (depending on is_lexical_environment).
|
||||||
@ -676,6 +657,7 @@ typedef enum
|
|||||||
ECMA_MAGIC_STRING_OBJECT_UL, /**< "Object" */
|
ECMA_MAGIC_STRING_OBJECT_UL, /**< "Object" */
|
||||||
ECMA_MAGIC_STRING_FUNCTION_UL, /**< "Function" */
|
ECMA_MAGIC_STRING_FUNCTION_UL, /**< "Function" */
|
||||||
ECMA_MAGIC_STRING_ARRAY_UL, /**< "Array" */
|
ECMA_MAGIC_STRING_ARRAY_UL, /**< "Array" */
|
||||||
|
ECMA_MAGIC_STRING_ARGUMENTS_UL, /**< "Arguments" */
|
||||||
ECMA_MAGIC_STRING_STRING_UL, /**< "String" */
|
ECMA_MAGIC_STRING_STRING_UL, /**< "String" */
|
||||||
ECMA_MAGIC_STRING_BOOLEAN_UL, /**< "Boolean" */
|
ECMA_MAGIC_STRING_BOOLEAN_UL, /**< "Boolean" */
|
||||||
ECMA_MAGIC_STRING_NUMBER_UL, /**< "Number" */
|
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_OBJECT_UL: return (ecma_char_t*) "Object";
|
||||||
case ECMA_MAGIC_STRING_FUNCTION_UL: return (ecma_char_t*) "Function";
|
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_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_STRING_UL: return (ecma_char_t*) "String";
|
||||||
case ECMA_MAGIC_STRING_BOOLEAN_UL: return (ecma_char_t*) "Boolean";
|
case ECMA_MAGIC_STRING_BOOLEAN_UL: return (ecma_char_t*) "Boolean";
|
||||||
case ECMA_MAGIC_STRING_NUMBER_UL: return (ecma_char_t*) "Number";
|
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_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);
|
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_string_t *length_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
||||||
ecma_number_t *length_num_p = ecma_alloc_number ();
|
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.
|
// 3.
|
||||||
ecma_property_t *class_prop_p = ecma_create_internal_property (f, ECMA_INTERNAL_PROPERTY_CLASS);
|
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.
|
// 9.
|
||||||
ecma_property_t *scope_prop_p = ecma_create_internal_property (f, ECMA_INTERNAL_PROPERTY_SCOPE);
|
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.
|
// 3.
|
||||||
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
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);
|
ecma_deref_object (prototype_p);
|
||||||
|
|
||||||
|
|||||||
@ -59,7 +59,7 @@ ecma_create_arguments_object (ecma_object_t *func_obj_p, /**< callee function */
|
|||||||
|
|
||||||
// 4.
|
// 4.
|
||||||
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
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.
|
// 7.
|
||||||
ecma_property_descriptor_t prop_desc = ecma_make_empty_property_descriptor ();
|
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_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);
|
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;
|
return obj_p;
|
||||||
} /* ecma_op_create_object_object_noarg */
|
} /* 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_property_t *class_prop_p = ecma_get_internal_property (obj_p,
|
||||||
ECMA_INTERNAL_PROPERTY_CLASS);
|
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;
|
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_deref_object (prototype_obj_p);
|
||||||
|
|
||||||
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
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_property_t *prim_value_prop_p = ecma_create_internal_property (obj_p,
|
||||||
ECMA_INTERNAL_PROPERTY_PRIMITIVE_STRING_VALUE);
|
ECMA_INTERNAL_PROPERTY_PRIMITIVE_STRING_VALUE);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user