Reimplementation of jerry_api_is_funciton and jerry_api_is_constructor
This commit is contained in:
committed by
Ruben Ayrapetyan
parent
8e4bcca568
commit
72d8c38d77
@@ -210,7 +210,7 @@ ecma_check_value_type_is_spec_defined (const ecma_value_t& value) /**< ecma-valu
|
|||||||
* Simple value constructor
|
* Simple value constructor
|
||||||
*/
|
*/
|
||||||
ecma_value_t __attr_const___ __attr_always_inline___
|
ecma_value_t __attr_const___ __attr_always_inline___
|
||||||
ecma_make_simple_value (ecma_simple_value_t value) /**< simple value */
|
ecma_make_simple_value (const ecma_simple_value_t value) /**< simple value */
|
||||||
{
|
{
|
||||||
ecma_value_t ret_value = 0;
|
ecma_value_t ret_value = 0;
|
||||||
|
|
||||||
@@ -224,7 +224,7 @@ ecma_make_simple_value (ecma_simple_value_t value) /**< simple value */
|
|||||||
* Number value constructor
|
* Number value constructor
|
||||||
*/
|
*/
|
||||||
ecma_value_t __attr_const___
|
ecma_value_t __attr_const___
|
||||||
ecma_make_number_value (ecma_number_t* num_p) /**< number to reference in value */
|
ecma_make_number_value (const ecma_number_t* num_p) /**< number to reference in value */
|
||||||
{
|
{
|
||||||
JERRY_ASSERT(num_p != NULL);
|
JERRY_ASSERT(num_p != NULL);
|
||||||
|
|
||||||
@@ -243,7 +243,7 @@ ecma_make_number_value (ecma_number_t* num_p) /**< number to reference in value
|
|||||||
* String value constructor
|
* String value constructor
|
||||||
*/
|
*/
|
||||||
ecma_value_t __attr_const___
|
ecma_value_t __attr_const___
|
||||||
ecma_make_string_value (ecma_string_t* ecma_string_p) /**< string to reference in value */
|
ecma_make_string_value (const ecma_string_t* ecma_string_p) /**< string to reference in value */
|
||||||
{
|
{
|
||||||
JERRY_ASSERT(ecma_string_p != NULL);
|
JERRY_ASSERT(ecma_string_p != NULL);
|
||||||
|
|
||||||
@@ -262,7 +262,7 @@ ecma_make_string_value (ecma_string_t* ecma_string_p) /**< string to reference i
|
|||||||
* object value constructor
|
* object value constructor
|
||||||
*/
|
*/
|
||||||
ecma_value_t __attr_const___
|
ecma_value_t __attr_const___
|
||||||
ecma_make_object_value (ecma_object_t* object_p) /**< object to reference in value */
|
ecma_make_object_value (const ecma_object_t* object_p) /**< object to reference in value */
|
||||||
{
|
{
|
||||||
JERRY_ASSERT(object_p != NULL);
|
JERRY_ASSERT(object_p != NULL);
|
||||||
|
|
||||||
|
|||||||
@@ -79,10 +79,10 @@ extern bool ecma_is_value_object (const ecma_value_t& value);
|
|||||||
|
|
||||||
extern void ecma_check_value_type_is_spec_defined (const ecma_value_t& value);
|
extern void ecma_check_value_type_is_spec_defined (const ecma_value_t& value);
|
||||||
|
|
||||||
extern ecma_value_t ecma_make_simple_value (ecma_simple_value_t value);
|
extern ecma_value_t ecma_make_simple_value (const ecma_simple_value_t value);
|
||||||
extern ecma_value_t ecma_make_number_value (ecma_number_t* num_p);
|
extern ecma_value_t ecma_make_number_value (const ecma_number_t* num_p);
|
||||||
extern ecma_value_t ecma_make_string_value (ecma_string_t* ecma_string_p);
|
extern ecma_value_t ecma_make_string_value (const ecma_string_t* ecma_string_p);
|
||||||
extern ecma_value_t ecma_make_object_value (ecma_object_t* object_p);
|
extern ecma_value_t ecma_make_object_value (const ecma_object_t* object_p);
|
||||||
extern ecma_number_t* __attr_pure___ ecma_get_number_from_value (const ecma_value_t& value);
|
extern ecma_number_t* __attr_pure___ ecma_get_number_from_value (const ecma_value_t& value);
|
||||||
extern ecma_string_t* __attr_pure___ ecma_get_string_from_value (const ecma_value_t& value);
|
extern ecma_string_t* __attr_pure___ ecma_get_string_from_value (const ecma_value_t& value);
|
||||||
extern ecma_object_t* __attr_pure___ ecma_get_object_from_value (const ecma_value_t& value);
|
extern ecma_object_t* __attr_pure___ ecma_get_object_from_value (const ecma_value_t& value);
|
||||||
|
|||||||
@@ -435,9 +435,9 @@ jerry_api_is_function (const jerry_api_object_t* object_p) /**< an object */
|
|||||||
{
|
{
|
||||||
JERRY_ASSERT (object_p != NULL);
|
JERRY_ASSERT (object_p != NULL);
|
||||||
|
|
||||||
return (ecma_get_object_type (object_p) == ECMA_OBJECT_TYPE_FUNCTION
|
ecma_value_t obj_val = ecma_make_object_value (object_p);
|
||||||
|| ecma_get_object_type (object_p) == ECMA_OBJECT_TYPE_BOUND_FUNCTION
|
|
||||||
|| ecma_get_object_type (object_p) == ECMA_OBJECT_TYPE_BUILT_IN_FUNCTION);
|
return ecma_op_is_callable (obj_val);
|
||||||
} /* jerry_api_is_function */
|
} /* jerry_api_is_function */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -451,8 +451,9 @@ jerry_api_is_constructor (const jerry_api_object_t* object_p) /**< an object */
|
|||||||
{
|
{
|
||||||
JERRY_ASSERT (object_p != NULL);
|
JERRY_ASSERT (object_p != NULL);
|
||||||
|
|
||||||
return (ecma_get_object_type (object_p) == ECMA_OBJECT_TYPE_FUNCTION
|
ecma_value_t obj_val = ecma_make_object_value (object_p);
|
||||||
|| ecma_get_object_type (object_p) == ECMA_OBJECT_TYPE_BOUND_FUNCTION);
|
|
||||||
|
return ecma_is_constructor (obj_val);
|
||||||
} /* jerry_api_is_constructor */
|
} /* jerry_api_is_constructor */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ mem_get_base_pointer (void)
|
|||||||
* Compress pointer.
|
* Compress pointer.
|
||||||
*/
|
*/
|
||||||
uintptr_t
|
uintptr_t
|
||||||
mem_compress_pointer (void *pointer) /**< pointer to compress */
|
mem_compress_pointer (const void *pointer) /**< pointer to compress */
|
||||||
{
|
{
|
||||||
JERRY_ASSERT(pointer != NULL);
|
JERRY_ASSERT(pointer != NULL);
|
||||||
|
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ typedef void (*mem_try_give_memory_back_callback_t) (mem_try_give_memory_back_se
|
|||||||
extern void mem_init (void);
|
extern void mem_init (void);
|
||||||
extern void mem_finalize (bool is_show_mem_stats);
|
extern void mem_finalize (bool is_show_mem_stats);
|
||||||
|
|
||||||
extern uintptr_t mem_compress_pointer (void *pointer);
|
extern uintptr_t mem_compress_pointer (const void *pointer);
|
||||||
extern void* mem_decompress_pointer (uintptr_t compressed_pointer);
|
extern void* mem_decompress_pointer (uintptr_t compressed_pointer);
|
||||||
|
|
||||||
extern void mem_register_a_try_give_memory_back_callback (mem_try_give_memory_back_callback_t callback);
|
extern void mem_register_a_try_give_memory_back_callback (mem_try_give_memory_back_callback_t callback);
|
||||||
|
|||||||
Reference in New Issue
Block a user