diff --git a/docs/02.API-REFERENCE.md b/docs/02.API-REFERENCE.md index 38cc19eab..d2f44033b 100644 --- a/docs/02.API-REFERENCE.md +++ b/docs/02.API-REFERENCE.md @@ -6737,7 +6737,7 @@ jerry_json_stringify (const jerry_value_t object_to_stringify); jerry_value_t obj = jerry_create_object (); jerry_value_t key = jerry_create_string ((const jerry_char_t *) "name"); jerry_value_t value = jerry_create_string ((const jerry_char_t *) "John"); - jerry_set_property (obj, key, value); + jerry_release_value (jerry_set_property (obj, key, value)); jerry_value_t stringified = jerry_json_stringify (obj); //stringified now contains a json formated string diff --git a/docs/03.API-EXAMPLE.md b/docs/03.API-EXAMPLE.md index e27f40eb7..00e07aef6 100644 --- a/docs/03.API-EXAMPLE.md +++ b/docs/03.API-EXAMPLE.md @@ -151,7 +151,7 @@ main (void) jerry_value_t prop_value = jerry_create_string (str); /* Setting the string value as a property of the Global object */ - jerry_set_property (global_object, prop_name, prop_value); + jerry_release_value (jerry_set_property (global_object, prop_name, prop_value)); /* Releasing string values, as it is no longer necessary outside of engine */ jerry_release_value (prop_name); @@ -386,7 +386,7 @@ main (void) /* Set the native function as a property of the empty JS object */ jerry_value_t prop_name = jerry_create_string ((const jerry_char_t *) "myFunc"); - jerry_set_property (object, prop_name, func_obj); + jerry_release_value (jerry_set_property (object, prop_name, func_obj)); jerry_release_value (prop_name); jerry_release_value (func_obj); @@ -395,7 +395,7 @@ main (void) /* Add the JS object to the global context */ prop_name = jerry_create_string ((const jerry_char_t *) "MyObject"); - jerry_set_property (global_object, prop_name, object); + jerry_release_value (jerry_set_property (global_object, prop_name, object)); jerry_release_value (prop_name); jerry_release_value (object); jerry_release_value (global_object); @@ -462,7 +462,7 @@ add_handler (const jerry_value_t func_value, /**< function object */ jerry_value_t res_val = jerry_create_number (x + d); /* Set the new value of 'this.x' */ - jerry_set_property (this_val, prop_name, res_val); + jerry_release_value (jerry_set_property (this_val, prop_name, res_val)); jerry_release_value (res_val); } @@ -506,7 +506,7 @@ main (void) /* Set the native function as a property of previously created MyObject */ jerry_value_t prop_name = jerry_create_string ((const jerry_char_t *) "add2x"); - jerry_set_property (my_js_obj_val, prop_name, add_func_obj); + jerry_release_value (jerry_set_property (my_js_obj_val, prop_name, add_func_obj)); jerry_release_value (add_func_obj); jerry_release_value (prop_name); diff --git a/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-drivers/source/I2C-js.cpp b/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-drivers/source/I2C-js.cpp index e1ba83e30..720ea99cd 100644 --- a/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-drivers/source/I2C-js.cpp +++ b/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-drivers/source/I2C-js.cpp @@ -139,7 +139,7 @@ DECLARE_CLASS_FUNCTION(I2C, read) { for (uint32_t i = 0; i < data_len; i++) { jerry_value_t val = jerry_create_number(double(data[i])); - jerry_set_property_by_index(out_array, i, val); + jerry_release_value(jerry_set_property_by_index(out_array, i, val)); jerry_release_value(val); } diff --git a/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-drivers/source/InterruptIn-js.cpp b/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-drivers/source/InterruptIn-js.cpp index 539a50955..2cb1ab227 100644 --- a/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-drivers/source/InterruptIn-js.cpp +++ b/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-drivers/source/InterruptIn-js.cpp @@ -99,7 +99,7 @@ DECLARE_CLASS_FUNCTION(InterruptIn, rise) { // Keep track of our callback internally. jerry_value_t property_name = jerry_create_string((const jerry_char_t*)"cb_rise"); - jerry_set_property(this_obj, property_name, f); + jerry_release_value(jerry_set_property(this_obj, property_name, f)); jerry_release_value(property_name); return jerry_create_undefined(); @@ -164,7 +164,7 @@ DECLARE_CLASS_FUNCTION(InterruptIn, fall) { // Keep track of our callback internally. jerry_value_t property_name = jerry_create_string((const jerry_char_t*)"cb_fall"); - jerry_set_property(this_obj, property_name, f); + jerry_release_value(jerry_set_property(this_obj, property_name, f)); jerry_release_value(property_name); return jerry_create_undefined(); diff --git a/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-launcher/source/setup.cpp b/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-launcher/source/setup.cpp index 6aa282efd..fb6bb27b1 100644 --- a/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-launcher/source/setup.cpp +++ b/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-launcher/source/setup.cpp @@ -39,7 +39,7 @@ void jsmbed_js_load_magic_strings() { jerry_value_t constant_value = jerry_create_number(jsmbed_js_magic_string_values[idx]); jerry_value_t magic_string = jerry_create_string(jsmbed_js_magic_strings[idx]); - jerry_set_property(global, magic_string, constant_value); + jerry_release_value(jerry_set_property(global, magic_string, constant_value)); jerry_release_value(constant_value); jerry_release_value(magic_string); diff --git a/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-library-registry/source/wrap_tools.cpp b/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-library-registry/source/wrap_tools.cpp index 1fe7ab279..21607657d 100644 --- a/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-library-registry/source/wrap_tools.cpp +++ b/targets/mbedos5/jerryscript-mbed/jerryscript-mbed-library-registry/source/wrap_tools.cpp @@ -67,7 +67,7 @@ bool jsmbed_wrap_register_class_function(jerry_value_t this_obj, const char* nam jerry_value_t property_name = jerry_create_string(reinterpret_cast(name)); jerry_value_t handler_obj = jerry_create_external_function(handler); - jerry_set_property(this_obj, property_name, handler_obj); + jerry_release_value(jerry_set_property(this_obj, property_name, handler_obj)); jerry_release_value(handler_obj); jerry_release_value(property_name); diff --git a/targets/particle/source/main.cpp b/targets/particle/source/main.cpp index 0c5e799e6..5ee277d8d 100644 --- a/targets/particle/source/main.cpp +++ b/targets/particle/source/main.cpp @@ -80,13 +80,13 @@ init_jerry () func_obj = jerry_create_external_function (set_led); prop_name = jerry_create_string ((const jerry_char_t *) "setLed"); - jerry_set_property (object, prop_name, func_obj); + jerry_release_value (jerry_set_property (object, prop_name, func_obj)); jerry_release_value (prop_name); jerry_release_value (func_obj); func_obj = jerry_create_external_function (js_delay); prop_name = jerry_create_string ((const jerry_char_t *) "delay"); - jerry_set_property (object, prop_name, func_obj); + jerry_release_value (jerry_set_property (object, prop_name, func_obj)); jerry_release_value (prop_name); jerry_release_value (func_obj); @@ -95,7 +95,7 @@ init_jerry () /* Add the JS object to the global context */ prop_name = jerry_create_string ((const jerry_char_t *) "test"); - jerry_set_property (global_object, prop_name, object); + jerry_release_value (jerry_set_property (global_object, prop_name, object)); jerry_release_value (prop_name); jerry_release_value (object); jerry_release_value (global_object); diff --git a/tests/unit-core/test-api.c b/tests/unit-core/test-api.c index 6e58a0698..09ec226c0 100644 --- a/tests/unit-core/test-api.c +++ b/tests/unit-core/test-api.c @@ -154,7 +154,10 @@ handler_construct (const jerry_value_t func_obj_val, /**< function object */ TEST_ASSERT (jerry_get_boolean_value (args_p[0]) == true); jerry_value_t field_name = jerry_create_string ((jerry_char_t *) "value_field"); - jerry_set_property (this_val, field_name, args_p[0]); + jerry_value_t res = jerry_set_property (this_val, field_name, args_p[0]); + TEST_ASSERT (!jerry_value_is_error (res)); + TEST_ASSERT (jerry_value_is_boolean (res) && jerry_get_boolean_value (res)); + jerry_release_value (res); jerry_release_value (field_name); jerry_set_object_native_pointer (this_val, @@ -634,7 +637,10 @@ main (void) TEST_ASSERT (jerry_get_array_length (array_obj_val) == 10); jerry_value_t v_in = jerry_create_number (10.5); - jerry_set_property_by_index (array_obj_val, 5, v_in); + res = jerry_set_property_by_index (array_obj_val, 5, v_in); + TEST_ASSERT (!jerry_value_is_error (res)); + TEST_ASSERT (jerry_value_is_boolean (res) && jerry_get_boolean_value (res)); + jerry_release_value (res); jerry_value_t v_out = jerry_get_property_by_index (array_obj_val, 5); TEST_ASSERT (jerry_value_is_number (v_out) @@ -899,7 +905,10 @@ main (void) char check_value[] = "{\"name\":\"John\"}"; jerry_value_t key = jerry_create_string ((const jerry_char_t *) "name"); jerry_value_t value = jerry_create_string ((const jerry_char_t *) "John"); - jerry_set_property (obj, key, value); + res = jerry_set_property (obj, key, value); + TEST_ASSERT (!jerry_value_is_error (res)); + TEST_ASSERT (jerry_value_is_boolean (res) && jerry_get_boolean_value (res)); + jerry_release_value (res); jerry_value_t stringified = jerry_json_stringify (obj); TEST_ASSERT (jerry_value_is_string (stringified)); char buff[jerry_get_string_length (stringified)]; diff --git a/tests/unit-ext/module/jerry-module-test.c b/tests/unit-ext/module/jerry-module-test.c index c371fd6dd..43cfe8cd6 100644 --- a/tests/unit-ext/module/jerry-module-test.c +++ b/tests/unit-ext/module/jerry-module-test.c @@ -199,6 +199,7 @@ main (int argc, char **argv) (void) argc; (void) argv; jerry_value_t js_global = 0, js_function = 0, js_property_name = 0; + jerry_value_t res; #ifndef ENABLE_INIT_FINI my_broken_module_register (); @@ -211,13 +212,19 @@ main (int argc, char **argv) js_function = jerry_create_external_function (handle_require); js_property_name = jerry_create_string ((const jerry_char_t *) "require"); - jerry_set_property (js_global, js_property_name, js_function); + res = jerry_set_property (js_global, js_property_name, js_function); + TEST_ASSERT (!jerry_value_is_error (res)); + TEST_ASSERT (jerry_value_is_boolean (res) && jerry_get_boolean_value (res)); + jerry_release_value (res); jerry_release_value (js_property_name); jerry_release_value (js_function); js_function = jerry_create_external_function (handle_clear_require_cache); js_property_name = jerry_create_string ((const jerry_char_t *) "clear_require_cache"); - jerry_set_property (js_global, js_property_name, js_function); + res = jerry_set_property (js_global, js_property_name, js_function); + TEST_ASSERT (!jerry_value_is_error (res)); + TEST_ASSERT (jerry_value_is_boolean (res) && jerry_get_boolean_value (res)); + jerry_release_value (res); jerry_release_value (js_property_name); jerry_release_value (js_function);