Implement eval check for ECMAScript code (#4788)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
@@ -12035,7 +12035,7 @@ is no longer needed.
|
||||
jerry_value_t
|
||||
jerry_get_user_value (const jerry_value_t value);
|
||||
```
|
||||
- `value` - script / module / function value which executes JavaScript
|
||||
- `value` - script / module / function value which executes ECMAScript
|
||||
code (native modules / functions do not have user value).
|
||||
- return
|
||||
- user value - if available,
|
||||
@@ -12084,6 +12084,60 @@ main (void)
|
||||
- [jerry_generate_snapshot](#jerry_generate_snapshot)
|
||||
- [jerry_exec_snapshot](#jerry_exec_snapshot)
|
||||
|
||||
## jerry_is_eval_code
|
||||
|
||||
**Summary**
|
||||
|
||||
Checks whether an ECMAScript code is compiled by eval like (eval, new Function,
|
||||
[jerry_eval](#jerry_eval), etc.) command.
|
||||
|
||||
**Prototype**
|
||||
|
||||
```c
|
||||
bool jerry_is_eval_code (const jerry_value_t value);
|
||||
```
|
||||
- `value` - script / module / function value which executes ECMAScript code
|
||||
- return
|
||||
- true - if code is compiled by eval like command
|
||||
- false - otherwise
|
||||
|
||||
*New in version [[NEXT_RELEASE]]*.
|
||||
|
||||
**Example**
|
||||
|
||||
[doctest]: # ()
|
||||
|
||||
```c
|
||||
#include "jerryscript.h"
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
jerry_init (JERRY_INIT_EMPTY);
|
||||
|
||||
const jerry_char_t script[] = "eval('(function (a) { return a; })')";
|
||||
|
||||
jerry_value_t script_value = jerry_parse (script, sizeof (script) - 1, NULL);
|
||||
jerry_value_t function_value = jerry_run (script_value);
|
||||
jerry_release_value (script_value);
|
||||
|
||||
if (jerry_is_eval_code (function_value))
|
||||
{
|
||||
/* Code enters here. */
|
||||
}
|
||||
|
||||
jerry_release_value (function_value);
|
||||
jerry_cleanup ();
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
**See also**
|
||||
|
||||
- [jerry_parse](#jerry_parse)
|
||||
- [jerry_generate_snapshot](#jerry_generate_snapshot)
|
||||
- [jerry_exec_snapshot](#jerry_exec_snapshot)
|
||||
|
||||
## jerry_get_source_info
|
||||
|
||||
**Summary**
|
||||
|
||||
Reference in New Issue
Block a user