Add 'type' argument to set/get native handle API (#1711)

Ecma-object have native handle type inside, and binding code could use
type info to validate native handle's type.

Related issue #1681

JerryScript-DCO-1.0-Signed-off-by: Zidong Jiang zidong.jiang@intel.com
This commit is contained in:
Zidong Jiang
2017-04-10 16:51:37 +08:00
committed by GitHub
parent 574dff512e
commit e522e740a7
12 changed files with 486 additions and 141 deletions
+11 -5
View File
@@ -341,11 +341,17 @@ void ecma_bytecode_ref (ecma_compiled_code_t *bytecode_p);
void ecma_bytecode_deref (ecma_compiled_code_t *bytecode_p);
/* ecma-helpers-external-pointers.c */
bool ecma_create_external_pointer_property (ecma_object_t *obj_p, lit_magic_string_id_t id,
ecma_external_pointer_t ptr_value);
bool ecma_get_external_pointer_value (ecma_object_t *obj_p, lit_magic_string_id_t id,
ecma_external_pointer_t *out_pointer_p);
void ecma_free_external_pointer_in_property (ecma_property_t *prop_p);
bool ecma_create_native_handle_property (ecma_object_t *obj_p,
ecma_external_pointer_t handle_p,
ecma_external_pointer_t free_cb);
bool ecma_create_native_pointer_property (ecma_object_t *obj_p,
ecma_external_pointer_t native_p,
ecma_external_pointer_t info_p);
bool ecma_get_native_package_value (ecma_object_t *obj_p,
lit_magic_string_id_t id,
void **out_pointer_p);
void ecma_free_native_package_property (ecma_property_t *prop_p,
lit_magic_string_id_t id);
/* ecma-helpers-conversion.c */
ecma_number_t ecma_utf8_string_to_number (const lit_utf8_byte_t *str_p, lit_utf8_size_t str_size);