Using ecma_is_value_* instead of switches for determining of ecma-value's type.

This commit is contained in:
Ruben Ayrapetyan
2014-11-19 20:28:14 +03:00
parent 7b3eaf146b
commit 6dd357a554
5 changed files with 228 additions and 323 deletions
+15
View File
@@ -128,6 +128,21 @@ ecma_is_value_object (ecma_value_t value) /**< ecma-value */
return (value.value_type == ECMA_TYPE_OBJECT);
} /* ecma_is_value_object */
/**
* Debug assertion that specified value's type is one of ECMA-defined
* script-visible types, i.e.: undefined, null, boolean, number, string, object.
*/
void
ecma_check_value_type_is_spec_defined (ecma_value_t value) /**< ecma-value */
{
JERRY_ASSERT (ecma_is_value_undefined (value)
|| ecma_is_value_null (value)
|| ecma_is_value_boolean (value)
|| ecma_is_value_number (value)
|| ecma_is_value_string (value)
|| ecma_is_value_object (value));
} /* ecma_check_value_type_is_spec_defined */
/**
* Simple value constructor
*/
+2
View File
@@ -71,6 +71,8 @@ extern bool ecma_is_value_number (ecma_value_t value);
extern bool ecma_is_value_string (ecma_value_t value);
extern bool ecma_is_value_object (ecma_value_t value);
extern void ecma_check_value_type_is_spec_defined (ecma_value_t value);
extern ecma_value_t ecma_make_simple_value (ecma_simple_value_t value);
extern ecma_value_t ecma_make_number_value (ecma_number_t* num_p);
extern ecma_value_t ecma_make_string_value (ecma_string_t* ecma_string_p);