mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Change guarding of ecma_is_value_bigint and ecma_is_value_symbol (#4269)
JerryScript-DCO-1.0-Signed-off-by: Virag Orkenyi orkvi@inf.u-szeged.hu
This commit is contained in:
parent
a084fdbe45
commit
fb1c21beb7
@ -323,7 +323,6 @@ ecma_is_value_string (ecma_value_t value) /**< ecma value */
|
||||
return ((value & (ECMA_VALUE_TYPE_MASK - 0x4)) == ECMA_TYPE_STRING);
|
||||
} /* ecma_is_value_string */
|
||||
|
||||
#if ENABLED (JERRY_ESNEXT)
|
||||
/**
|
||||
* Check if the value is symbol.
|
||||
*
|
||||
@ -333,11 +332,13 @@ ecma_is_value_string (ecma_value_t value) /**< ecma value */
|
||||
inline bool JERRY_ATTR_CONST JERRY_ATTR_ALWAYS_INLINE
|
||||
ecma_is_value_symbol (ecma_value_t value) /**< ecma value */
|
||||
{
|
||||
#if ENABLED (JERRY_ESNEXT)
|
||||
return (ecma_get_value_type_field (value) == ECMA_TYPE_SYMBOL);
|
||||
} /* ecma_is_value_symbol */
|
||||
#else /* ENABLED (JERRY_ESNEXT) */
|
||||
JERRY_UNUSED (value);
|
||||
return false;
|
||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
||||
|
||||
#if ENABLED (JERRY_BUILTIN_BIGINT)
|
||||
} /* ecma_is_value_symbol */
|
||||
|
||||
/**
|
||||
* Check if the value is bigint.
|
||||
@ -348,11 +349,14 @@ ecma_is_value_symbol (ecma_value_t value) /**< ecma value */
|
||||
inline bool JERRY_ATTR_CONST JERRY_ATTR_ALWAYS_INLINE
|
||||
ecma_is_value_bigint (ecma_value_t value) /**< ecma value */
|
||||
{
|
||||
#if ENABLED (JERRY_BUILTIN_BIGINT)
|
||||
return (ecma_get_value_type_field (value) == ECMA_TYPE_BIGINT);
|
||||
#else /* !ENABLED (JERRY_BUILTIN_BIGINT) */
|
||||
JERRY_UNUSED (value);
|
||||
return false;
|
||||
#endif /* ENABLED (JERRY_BUILTIN_BIGINT) */
|
||||
} /* ecma_is_value_bigint */
|
||||
|
||||
#endif /* ENABLED (JERRY_BUILTIN_BIGINT) */
|
||||
|
||||
/**
|
||||
* Check if the value can be property name.
|
||||
*
|
||||
@ -429,8 +433,8 @@ ecma_check_value_type_is_spec_defined (ecma_value_t value) /**< ecma value */
|
||||
|| ecma_is_value_boolean (value)
|
||||
|| ecma_is_value_number (value)
|
||||
|| ecma_is_value_string (value)
|
||||
|| ECMA_CHECK_SYMBOL_IN_ASSERT (value)
|
||||
|| ECMA_CHECK_BIGINT_IN_ASSERT (value)
|
||||
|| ecma_is_value_bigint (value)
|
||||
|| ecma_is_value_symbol (value)
|
||||
|| ecma_is_value_object (value));
|
||||
} /* ecma_check_value_type_is_spec_defined */
|
||||
|
||||
|
||||
@ -192,30 +192,6 @@ typedef enum
|
||||
*/
|
||||
#define ECMA_BOOL_TO_BITFIELD(x) ((x) ? 1 : 0)
|
||||
|
||||
#if ENABLED (JERRY_ESNEXT)
|
||||
/**
|
||||
* JERRY_ASSERT compatible macro for checking whether the given ecma-value is symbol
|
||||
*/
|
||||
#define ECMA_CHECK_SYMBOL_IN_ASSERT(value) (ecma_is_value_symbol ((value)))
|
||||
#else /* !ENABLED (JERRY_ESNEXT) */
|
||||
/**
|
||||
* JERRY_ASSERT compatible macro for checking whether the given ecma-value is symbol
|
||||
*/
|
||||
#define ECMA_CHECK_SYMBOL_IN_ASSERT(value) (false)
|
||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
||||
|
||||
#if ENABLED (JERRY_BUILTIN_BIGINT)
|
||||
/**
|
||||
* JERRY_ASSERT compatible macro for checking whether the given ecma-value is bigint
|
||||
*/
|
||||
#define ECMA_CHECK_BIGINT_IN_ASSERT(value) ecma_is_value_bigint(value)
|
||||
#else /* !ENABLED (JERRY_BUILTIN_BIGINT) */
|
||||
/**
|
||||
* JERRY_ASSERT compatible macro for checking whether the given ecma-value is bigint
|
||||
*/
|
||||
#define ECMA_CHECK_BIGINT_IN_ASSERT(value) false
|
||||
#endif /* ENABLED (JERRY_BUILTIN_BIGINT) */
|
||||
|
||||
/**
|
||||
* Check whether the given type is ECMA_OBJECT_TYPE_PROXY
|
||||
*
|
||||
@ -252,12 +228,8 @@ bool JERRY_ATTR_CONST ecma_are_values_integer_numbers (ecma_value_t first_value,
|
||||
bool JERRY_ATTR_CONST ecma_is_value_float_number (ecma_value_t value);
|
||||
bool JERRY_ATTR_CONST ecma_is_value_number (ecma_value_t value);
|
||||
bool JERRY_ATTR_CONST ecma_is_value_string (ecma_value_t value);
|
||||
#if ENABLED (JERRY_ESNEXT)
|
||||
bool JERRY_ATTR_CONST ecma_is_value_symbol (ecma_value_t value);
|
||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
||||
#if ENABLED (JERRY_BUILTIN_BIGINT)
|
||||
bool JERRY_ATTR_CONST ecma_is_value_bigint (ecma_value_t value);
|
||||
#endif /* ENABLED (JERRY_BUILTIN_BIGINT) */
|
||||
bool JERRY_ATTR_CONST ecma_is_value_prop_name (ecma_value_t value);
|
||||
bool JERRY_ATTR_CONST ecma_is_value_direct_string (ecma_value_t value);
|
||||
bool JERRY_ATTR_CONST ecma_is_value_non_direct_string (ecma_value_t value);
|
||||
|
||||
@ -287,8 +287,10 @@ ecma_op_strict_equality_compare (ecma_value_t x, /**< first operand */
|
||||
/* The +0 === -0 case handled below. */
|
||||
}
|
||||
|
||||
JERRY_ASSERT (ecma_is_value_number (x) || ecma_is_value_string (x) || ECMA_CHECK_BIGINT_IN_ASSERT (x));
|
||||
JERRY_ASSERT (ecma_is_value_number (y) || ecma_is_value_string (y) || ECMA_CHECK_BIGINT_IN_ASSERT (y));
|
||||
JERRY_ASSERT (ecma_is_value_number (x) || ecma_is_value_string (x) ||
|
||||
ecma_is_value_bigint (x));
|
||||
JERRY_ASSERT (ecma_is_value_number (y) || ecma_is_value_string (y) ||
|
||||
ecma_is_value_bigint (y));
|
||||
|
||||
if (ecma_is_value_string (x))
|
||||
{
|
||||
|
||||
@ -130,7 +130,7 @@ ecma_op_same_value (ecma_value_t x, /**< ecma value */
|
||||
}
|
||||
#endif /* ENABLED (JERRY_BUILTIN_BIGINT) */
|
||||
|
||||
JERRY_ASSERT (ecma_is_value_object (x) || ECMA_CHECK_SYMBOL_IN_ASSERT (x));
|
||||
JERRY_ASSERT (ecma_is_value_object (x) || ecma_is_value_symbol (x));
|
||||
|
||||
return false;
|
||||
} /* ecma_op_same_value */
|
||||
@ -260,7 +260,7 @@ ecma_op_to_boolean (ecma_value_t value) /**< ecma value */
|
||||
}
|
||||
#endif /* ENABLED (JERRY_BUILTIN_BIGINT) */
|
||||
|
||||
JERRY_ASSERT (ecma_is_value_object (value) || ECMA_CHECK_SYMBOL_IN_ASSERT (value));
|
||||
JERRY_ASSERT (ecma_is_value_object (value) || ecma_is_value_symbol (value));
|
||||
|
||||
return true;
|
||||
} /* ecma_op_to_boolean */
|
||||
|
||||
@ -86,7 +86,7 @@ ecma_op_create_object_object_arg (ecma_value_t value) /**< argument of construct
|
||||
|| ecma_is_value_number (value)
|
||||
|| ecma_is_value_prop_name (value)
|
||||
|| ecma_is_value_boolean (value)
|
||||
|| ECMA_CHECK_BIGINT_IN_ASSERT (value));
|
||||
|| ecma_is_value_bigint (value));
|
||||
|
||||
return ecma_op_to_object (value);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user