Reimplementation of jerry_api_is_funciton and jerry_api_is_constructor

This commit is contained in:
Ilyong Cho
2015-04-06 11:25:40 +09:00
committed by Ruben Ayrapetyan
parent 8e4bcca568
commit 72d8c38d77
5 changed files with 16 additions and 15 deletions
+4 -4
View File
@@ -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);
+4 -4
View File
@@ -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);
+6 -5
View File
@@ -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 */
/** /**
+1 -1
View File
@@ -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);
+1 -1
View File
@@ -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);