aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorIstvan Miklos <imiklos2@inf.u-szeged.hu>2018-05-25 11:40:35 +0200
committerZoltan Herczeg <zherczeg.u-szeged@partner.samsung.com>2018-05-25 11:40:35 +0200
commitac9fce1d8d5a8eb821525f09ef1607e4643e14f3 (patch)
tree269afca3846b28a4f98b9d9c1a8c6474d26c72ee /docs
parent47794512846d74a1255016ea087ab2003d1f1d6b (diff)
Merge jerry_get_value_without_error and jerry_value_clear_error_flag functions (#2350)
JerryScript-DCO-1.0-Signed-off-by: Istvan Miklos imiklos2@inf.u-szeged.hu
Diffstat (limited to 'docs')
-rw-r--r--docs/02.API-REFERENCE.md97
1 files changed, 42 insertions, 55 deletions
diff --git a/docs/02.API-REFERENCE.md b/docs/02.API-REFERENCE.md
index b0224f0d..c620745f 100644
--- a/docs/02.API-REFERENCE.md
+++ b/docs/02.API-REFERENCE.md
@@ -1710,41 +1710,71 @@ jerry_get_error_type (const jerry_value_t value);
- [jerry_create_error](#jerry_create_error)
- [jerry_value_is_error](#jerry_value_is_error)
-## jerry_value_clear_error_flag
+## jerry_get_value_from_error
**Summary**
-Clear both the error and abort flags.
+Get the value from an error.
+
+Many API functions cannot be called with an error value.
+This function extracts the API value from an error. The second argument defines
+whether the input error value must be released or not. If it is set to `true`,
+then a [`jerry_release_value`](#jerry_release_value) function will be called
+for the first argument, so the error value won't be available after the call of
+`jerry_get_value_from_error`. The second argument should be false if both error
+and its represented value are needed. The first argument is returned unchanged if it is not an error.
+
+*Note*: Returned value must be freed with [jerry_release_value](#jerry_release_value) when it
+is no longer needed.
**Prototype**
```c
-void
-jerry_value_clear_error_flag (jerry_value_t *value_p);
+jerry_value_t
+jerry_get_value_from_error (jerry_value_t value, bool release)
```
-- `value_p` - pointer to an api value
+- `value` - error (api) value
+- `release` - raw boolean, defines whether input value must be released
+- return value - api value
-**Example**
+**Example 1**
```c
{
- jerry_value_t value;
+ jerry_value_t error;
... // create or acquire value
- jerry_value_clear_error_flag (&value);
+ jerry_value_set_error_flag (&error);
+ jerry_value_t value = jerry_get_value_from_error (error, true);
+ // using the 'error' variable after release is invalid.
jerry_release_value (value);
}
```
+**Example 2**
+
+```c
+{
+ jerry_value_t error;
+ ... // create or acquire value
+
+ jerry_value_set_error_flag (&error);
+ jerry_value_t value = jerry_get_value_from_error (error, false);
+ // both 'error' and 'value' can be used and must be released when they are no longer needed
+
+ jerry_release_value (value);
+ jerry_release_value (error);
+}
+```
+
**See also**
- [jerry_value_t](#jerry_value_t)
- [jerry_value_set_error_flag](#jerry_value_set_error_flag)
- [jerry_value_set_abort_flag](#jerry_value_set_abort_flag)
-
## jerry_value_set_error_flag
**Summary**
@@ -1776,7 +1806,7 @@ jerry_value_set_error_flag (jerry_value_t *value_p);
**See also**
- [jerry_value_t](#jerry_value_t)
-- [jerry_value_clear_error_flag](#jerry_value_clear_error_flag)
+- [jerry_get_value_from_error](#jerry_get_value_from_error)
- [jerry_value_set_abort_flag](#jerry_value_set_abort_flag)
@@ -1811,53 +1841,10 @@ jerry_value_set_abort_flag (jerry_value_t *value_p);
**See also**
- [jerry_value_t](#jerry_value_t)
-- [jerry_value_clear_error_flag](#jerry_value_clear_error_flag)
+- [jerry_get_value_from_error](#jerry_get_value_from_error)
- [jerry_value_set_error_flag](#jerry_value_set_error_flag)
-## jerry_get_value_without_error_flag
-
-**Summary**
-
-If the input value is an error value, then return a new reference to its referenced value.
-Otherwise, return a new reference to the value itself.
-
-*Note*: Returned value must be freed with [jerry_release_value](#jerry_release_value)
-when it is no longer needed.
-
-**Prototype**
-
-```c
-jerry_value_t
-jerry_get_value_without_error_flag (jerry_value_t value)
-```
-
-- `value` - api value
-
-**Example**
-
-```c
-{
- jerry_value_t value;
- ... // create or acquire value
-
- jerry_value_set_error_flag (&value);
-
- jerry_value_t real_value = jerry_get_value_without_error_flag (value);
- ... // process the real_value. Different from `jerry_value_clear_error_flag`,
- // the error `value` will not be automatically released after calling
- // `jerry_get_value_without_error_flag`.
-
- jerry_release_value (value);
- jerry_release_value (real_value);
-}
-```
-
-**See also**
-
-- [jerry_acquire_value](#jerry_acquire_value)
-- [jerry_value_clear_error_flag](#jerry_value_clear_error_flag)
-
# Getter functions of 'jerry_value_t'
Get raw data from API values.
@@ -2892,7 +2879,7 @@ jerry_create_error (jerry_error_t error_type,
**See also**
- [jerry_value_is_error](#jerry_value_is_error)
-- [jerry_value_clear_error_flag](#jerry_value_clear_error_flag)
+- [jerry_get_value_from_error](#jerry_get_value_from_error)
- [jerry_value_set_error_flag](#jerry_value_set_error_flag)