Rework jerry_parse function. (#2282)

Remove jerry_parse_named_resource, merge its arguments to jerry_parse
and change is_strict argument to an option list for possible future extensions.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
Zoltan Herczeg 2018-04-17 09:51:52 +02:00 committed by GitHub
parent 3f3d4a64f1
commit 96b528a486
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 146 additions and 146 deletions

View File

@ -59,6 +59,14 @@ Possible compile time enabled feature types:
- JERRY_FEATURE_DATE - Date support
- JERRY_FEATURE_REGEXP - RegExp support
## jerry_parse_opts_t
Option bits for [jerry_parse](#jerry_parse) and
[jerry_parse_function](#jerry_parse_function) functions:
- JERRY_PARSE_NO_OPTS - no options passed
- JERRY_PARSE_STRICT_MODE - enable strict mode
## jerry_generate_snapshot_opts_t
Flags for [jerry_generate_snapshot](#jerry_generate_snapshot) and
@ -806,8 +814,9 @@ main (void)
**Summary**
Parse script and construct an EcmaScript function. The
lexical environment is set to the global lexical environment.
Parse script and construct an EcmaScript function. The lexical environment is
set to the global lexical environment. The resource name can be used by
debugging systems to provide line / backtrace info.
*Note*: Returned value must be freed with [jerry_release_value](#jerry_release_value) when it
is no longer needed.
@ -816,14 +825,18 @@ is no longer needed.
```c
jerry_value_t
jerry_parse (const jerry_char_t *source_p,
jerry_parse (const jerry_char_t *resource_name_p, /**< resource name (usually a file name) */
size_t resource_name_length, /**< length of resource name */
const jerry_char_t *source_p,
size_t source_size,
bool is_strict);
uint32_t parse_opts);
```
- `resource_name_p` - resource name, usually a file name (must be a valid UTF8 string).
- `resource_name_length` - size of the resource name, in bytes.
- `source_p` - string, containing source code to parse (must be a valid UTF8 string).
- `source_size` - size of the string, in bytes.
- `is_strict` - defines strict mode.
- `parse_opts` - any combination of [jerry_parse_opts_t](#jerry_parse_opts_t) flags.
- return value
- function object value, if script was parsed successfully,
- thrown error, otherwise
@ -844,7 +857,7 @@ main (void)
const jerry_char_t script[] = "print ('Hello, World!');";
size_t script_size = strlen ((const char *) script);
jerry_value_t parsed_code = jerry_parse (script, script_size, false);
jerry_value_t parsed_code = jerry_parse (NULL, 0, script, script_size, JERRY_PARSE_NO_OPTS);
jerry_release_value (parsed_code);
jerry_cleanup ();
@ -855,40 +868,6 @@ main (void)
- [jerry_run](#jerry_run)
## jerry_parse_named_resource
**Summary**
Parse script and construct an ECMAScript function. The lexical
environment is set to the global lexical environment. The resource
name (usually a file name) is also passed to this function which is
used by the debugger to find the source code.
*Note*: The returned value must be freed with [jerry_release_value](#jerry_release_value) when it
is no longer needed.
**Prototype**
```c
jerry_value_t
jerry_parse_named_resource (const jerry_char_t *resource_name_p, /**< resource name (usually a file name) */
size_t resource_name_length, /**< length of resource name */
const jerry_char_t *source_p, /**< script source */
size_t source_size, /**< script source size */
bool is_strict) /**< strict mode */
```
- `resource_name_p` - resource name, usually a file name (must be a valid UTF8 string).
- `resource_name_length` - size of the resource name, in bytes.
- `source_p` - string, containing source code to parse (must be a valid UTF8 string).
- `source_size` - size of the string, in bytes.
- `is_strict` - defines strict mode.
- return value
- function object value, if script was parsed successfully,
- thrown error, otherwise
This function is identical to [jerry_parse](#jerry_parse), except that an additional filename parameter has been added.
## jerry_parse_function
**Summary**
@ -913,7 +892,7 @@ jerry_parse_function (const jerry_char_t *resource_name_p, /**< resource name (u
size_t arg_list_size, /**< script source size */
const jerry_char_t *source_p, /**< script source */
size_t source_size, /**< script source size */
bool is_strict) /**< strict mode */
uint32_t parse_opts) /**< strict mode */
```
- `resource_name_p` - resource name, usually a file name (must be a valid UTF8 string).
@ -922,7 +901,7 @@ jerry_parse_function (const jerry_char_t *resource_name_p, /**< resource name (u
- `arg_list_size` - size of the argument list, in bytes.
- `source_p` - string, containing source code to parse (must be a valid UTF8 string).
- `source_size` - size of the string, in bytes.
- `is_strict` - defines strict mode.
- `parse_opts` - any combination of [jerry_parse_opts_t](#jerry_parse_opts_t) flags.
- return value
- function object value, if script was parsed successfully,
- thrown error, otherwise
@ -965,7 +944,7 @@ main (void)
jerry_init (JERRY_INIT_EMPTY);
/* Setup Global scope code */
jerry_value_t parsed_code = jerry_parse (script, script_size, false);
jerry_value_t parsed_code = jerry_parse (NULL, 0, script, script_size, JERRY_PARSE_NO_OPTS);
if (!jerry_value_has_error_flag (parsed_code))
{
@ -1055,7 +1034,7 @@ main (void)
const jerry_char_t script[] = "new Promise(function(f,r) { f('Hello, World!'); }).then(function(x) { print(x); });";
size_t script_size = strlen ((const char *) script);
jerry_value_t parsed_code = jerry_parse (script, script_size, false);
jerry_value_t parsed_code = jerry_parse (NULL, 0, script, script_size, JERRY_PARSE_NO_OPTS);
jerry_value_t script_value = jerry_run (parsed_code);
jerry_value_t job_value = jerry_run_all_enqueued_jobs ();
@ -5440,7 +5419,7 @@ main (void)
// Inifinte loop.
const char *src_p = "while(true) {}";
jerry_value_t src = jerry_parse ((jerry_char_t *) src_p, strlen (src_p), false);
jerry_value_t src = jerry_parse (NULL, 0, (jerry_char_t *) src_p, strlen (src_p), JERRY_PARSE_NO_OPTS);
jerry_release_value (jerry_run (src));
jerry_release_value (src);
jerry_cleanup ();

View File

@ -55,7 +55,7 @@ main (void)
jerryx_handler_print);
/* Setup Global scope code */
jerry_value_t parsed_code = jerry_parse (script, script_size, false);
jerry_value_t parsed_code = jerry_parse (NULL, 0, script, script_size, JERRY_PARSE_NO_OPTS);
if (!jerry_value_has_error_flag (parsed_code))
{

View File

@ -69,14 +69,9 @@ The debugger can be enabled by calling the `jerry_debugger_init (uint16_t port)`
function after the `jerry_init ()` function. It initializes the debugger
and blocks until a client connects.
When the debugger is enabled it is recommended to use
`jerry_parse_named_resource ()` instead of `jerry_parse ()` because
the resource name (usually a file name) is also passed to this
function. This resource name is used by the client to identify
the corresponding resource. In general it is always recommended to
use `jerry_parse_named_resource ()` when the resource name is
available because it silently ignores the resource name if the
debugger is disabled.
The resource name provided to `jerry_parse ()` is used by the client
to identify the resource name of the source code. This resource name
is usually a file name.
## JerryScript debugger C-API interface
@ -304,11 +299,11 @@ wait_for_source_callback (const jerry_char_t *resource_name_p, /**< resource nam
size_t source_size, /**< source code size */
void *user_p __attribute__((unused))) /**< user pointer */
{
jerry_value_t ret_val = jerry_parse_named_resource (resource_name_p,
resource_name_size,
source_p,
source_size,
false);
jerry_value_t ret_val = jerry_parse (resource_name_p,
resource_name_size,
source_p,
source_size,
JERRY_PARSE_NO_OPTS);
if (!jerry_value_has_error_flag (ret_val))
{

View File

@ -364,7 +364,7 @@ jerry_run_simple (const jerry_char_t *script_source_p, /**< script source */
jerry_init (flags);
jerry_value_t parse_ret_val = jerry_parse (script_source_p, script_source_size, false);
jerry_value_t parse_ret_val = jerry_parse (NULL, 0, script_source_p, script_source_size, JERRY_PARSE_NO_OPTS);
if (!ecma_is_value_error_reference (parse_ret_val))
{
@ -392,10 +392,26 @@ jerry_run_simple (const jerry_char_t *script_source_p, /**< script source */
* thrown error - otherwise
*/
jerry_value_t
jerry_parse (const jerry_char_t *source_p, /**< script source */
jerry_parse (const jerry_char_t *resource_name_p, /**< resource name (usually a file name) */
size_t resource_name_length, /**< length of resource name */
const jerry_char_t *source_p, /**< script source */
size_t source_size, /**< script source size */
bool is_strict) /**< strict mode */
uint32_t parse_opts) /**< jerry_parse_opts_t option bits */
{
#if defined JERRY_DEBUGGER && !defined JERRY_DISABLE_JS_PARSER
if ((JERRY_CONTEXT (debugger_flags) & JERRY_DEBUGGER_CONNECTED)
&& resource_name_length > 0)
{
jerry_debugger_send_string (JERRY_DEBUGGER_SOURCE_CODE_NAME,
JERRY_DEBUGGER_NO_SUBTYPE,
resource_name_p,
resource_name_length);
}
#else /* !(JERRY_DEBUGGER && !JERRY_DISABLE_JS_PARSER) */
JERRY_UNUSED (resource_name_p);
JERRY_UNUSED (resource_name_length);
#endif /* JERRY_DEBUGGER && !JERRY_DISABLE_JS_PARSER */
#ifndef JERRY_DISABLE_JS_PARSER
jerry_assert_api_available ();
@ -406,7 +422,7 @@ jerry_parse (const jerry_char_t *source_p, /**< script source */
0,
source_p,
source_size,
is_strict,
(parse_opts & JERRY_PARSE_STRICT_MODE) != 0,
&bytecode_data_p);
if (ECMA_IS_VALUE_ERROR (parse_status))
@ -425,44 +441,12 @@ jerry_parse (const jerry_char_t *source_p, /**< script source */
#else /* JERRY_DISABLE_JS_PARSER */
JERRY_UNUSED (source_p);
JERRY_UNUSED (source_size);
JERRY_UNUSED (is_strict);
JERRY_UNUSED (parse_opts);
return jerry_throw (ecma_raise_syntax_error (ECMA_ERR_MSG ("The parser has been disabled.")));
#endif /* !JERRY_DISABLE_JS_PARSER */
} /* jerry_parse */
/**
* Parse script and construct an ECMAScript function. The lexical
* environment is set to the global lexical environment. The name
* (usually a file name) is also passed to this function which is
* used by the debugger to find the source code.
*
* @return function object value - if script was parsed successfully,
* thrown error - otherwise
*/
jerry_value_t
jerry_parse_named_resource (const jerry_char_t *resource_name_p, /**< resource name (usually a file name) */
size_t resource_name_length, /**< length of resource name */
const jerry_char_t *source_p, /**< script source */
size_t source_size, /**< script source size */
bool is_strict) /**< strict mode */
{
#if defined JERRY_DEBUGGER && !defined JERRY_DISABLE_JS_PARSER
if (JERRY_CONTEXT (debugger_flags) & JERRY_DEBUGGER_CONNECTED)
{
jerry_debugger_send_string (JERRY_DEBUGGER_SOURCE_CODE_NAME,
JERRY_DEBUGGER_NO_SUBTYPE,
resource_name_p,
resource_name_length);
}
#else /* !(JERRY_DEBUGGER && !JERRY_DISABLE_JS_PARSER) */
JERRY_UNUSED (resource_name_p);
JERRY_UNUSED (resource_name_length);
#endif /* JERRY_DEBUGGER && !JERRY_DISABLE_JS_PARSER */
return jerry_parse (source_p, source_size, is_strict);
} /* jerry_parse_named_resource */
/**
* Parse function and construct an EcmaScript function. The lexical
* environment is set to the global lexical environment.
@ -477,7 +461,7 @@ jerry_parse_function (const jerry_char_t *resource_name_p, /**< resource name (u
size_t arg_list_size, /**< script source size */
const jerry_char_t *source_p, /**< script source */
size_t source_size, /**< script source size */
bool is_strict) /**< strict mode */
uint32_t parse_opts) /**< jerry_parse_opts_t option bits */
{
#if defined JERRY_DEBUGGER && !defined JERRY_DISABLE_JS_PARSER
if (JERRY_CONTEXT (debugger_flags) & JERRY_DEBUGGER_CONNECTED)
@ -508,7 +492,7 @@ jerry_parse_function (const jerry_char_t *resource_name_p, /**< resource name (u
arg_list_size,
source_p,
source_size,
is_strict,
(parse_opts & JERRY_PARSE_STRICT_MODE) != 0,
&bytecode_data_p);
if (ECMA_IS_VALUE_ERROR (parse_status))
@ -529,7 +513,7 @@ jerry_parse_function (const jerry_char_t *resource_name_p, /**< resource name (u
JERRY_UNUSED (arg_list_size);
JERRY_UNUSED (source_p);
JERRY_UNUSED (source_size);
JERRY_UNUSED (is_strict);
JERRY_UNUSED (parse_opts);
return jerry_throw (ecma_raise_syntax_error (ECMA_ERR_MSG ("The parser has been disabled.")));
#endif /* !JERRY_DISABLE_JS_PARSER */

View File

@ -98,6 +98,15 @@ typedef enum
JERRY_FEATURE__COUNT /**< number of features. NOTE: must be at the end of the list */
} jerry_feature_t;
/**
* Option flags for jerry_parse and jerry_parse_function functions.
*/
typedef enum
{
JERRY_PARSE_NO_OPTS = 0, /**< no options passed */
JERRY_PARSE_STRICT_MODE = (1 << 0), /**< enable strict mode */
} jerry_parse_opts_t;
/**
* Character type of JerryScript.
*/
@ -308,12 +317,11 @@ bool jerry_get_memory_stats (jerry_heap_stats_t *out_stats_p);
* Parser and executor functions.
*/
bool jerry_run_simple (const jerry_char_t *script_source_p, size_t script_source_size, jerry_init_flag_t flags);
jerry_value_t jerry_parse (const jerry_char_t *source_p, size_t source_size, bool is_strict);
jerry_value_t jerry_parse_named_resource (const jerry_char_t *resource_name_p, size_t resource_name_length,
const jerry_char_t *source_p, size_t source_size, bool is_strict);
jerry_value_t jerry_parse (const jerry_char_t *resource_name_p, size_t resource_name_length,
const jerry_char_t *source_p, size_t source_size, uint32_t parse_opts);
jerry_value_t jerry_parse_function (const jerry_char_t *resource_name_p, size_t resource_name_length,
const jerry_char_t *arg_list_p, size_t arg_list_size,
const jerry_char_t *source_p, size_t source_size, bool is_strict);
const jerry_char_t *source_p, size_t source_size, uint32_t parse_opts);
jerry_value_t jerry_run (const jerry_value_t func_val);
jerry_value_t jerry_eval (const jerry_char_t *source_p, size_t source_size, bool is_strict);

View File

@ -96,7 +96,7 @@ main (int argc,
}
else
{
ret_value = jerry_parse (source_p, source_size, false);
ret_value = jerry_parse (NULL, 0, source_p, source_size, JERRY_PARSE_NO_OPTS);
if (!jerry_value_has_error_flag (ret_value))
{

View File

@ -236,11 +236,11 @@ wait_for_source_callback (const jerry_char_t *resource_name_p, /**< resource nam
size_t source_size, /**< source code size */
void *user_p __attribute__((unused))) /**< user pointer */
{
jerry_value_t ret_val = jerry_parse_named_resource (resource_name_p,
resource_name_size,
source_p,
source_size,
false);
jerry_value_t ret_val = jerry_parse (resource_name_p,
resource_name_size,
source_p,
source_size,
JERRY_PARSE_NO_OPTS);
if (!jerry_value_has_error_flag (ret_val))
{
@ -597,11 +597,11 @@ main (int argc,
break;
}
ret_value = jerry_parse_named_resource ((jerry_char_t *) file_names[i],
strlen (file_names[i]),
source_p,
source_size,
false);
ret_value = jerry_parse ((jerry_char_t *) file_names[i],
strlen (file_names[i]),
source_p,
source_size,
JERRY_PARSE_NO_OPTS);
if (!jerry_value_has_error_flag (ret_value) && !is_parse_only)
{

View File

@ -30,7 +30,7 @@ int js_entry (const char *source_p, const size_t source_size)
js_register_functions ();
jerry_value_t parsed_code = jerry_parse (jerry_src, source_size, false);
jerry_value_t parsed_code = jerry_parse (NULL, 0, jerry_src, source_size, JERRY_PARSE_NO_OPTS);
if (!jerry_value_has_error_flag (parsed_code))
{

View File

@ -42,7 +42,7 @@ static int load_javascript() {
const jerry_char_t* code = reinterpret_cast<const jerry_char_t*>(js_codes[src].source);
const size_t length = js_codes[src].length;
jerry_value_t parsed_code = jerry_parse(code, length, false);
jerry_value_t parsed_code = jerry_parse(NULL, 0, code, length, JERRY_PARSE_NO_OPTS);
if (jerry_value_has_error_flag(parsed_code)) {
LOG_PRINT_ALWAYS("jerry_parse failed [%s]\r\n", js_codes[src].name);

View File

@ -395,7 +395,7 @@ int jerry_main (int argc, char *argv[])
const jerry_char_t script[] = "var str = 'Hello World'; print(str + ' from JerryScript')";
size_t script_size = strlen ((const char *) script);
ret_value = jerry_parse (script, script_size, false);
ret_value = jerry_parse (NULL, 0, script, script_size, JERRY_PARSE_NO_OPTS);
if (!jerry_value_has_error_flag (ret_value))
{
@ -415,11 +415,11 @@ int jerry_main (int argc, char *argv[])
return JERRY_STANDALONE_EXIT_CODE_FAIL;
}
ret_value = jerry_parse_named_resource ((jerry_char_t *) file_names[i],
strlen (file_names[i]),
source_p,
source_size,
false);
ret_value = jerry_parse ((jerry_char_t *) file_names[i],
strlen (file_names[i]),
source_p,
source_size,
JERRY_PARSE_NO_OPTS);
if (!jerry_value_has_error_flag (ret_value))
{

View File

@ -66,7 +66,7 @@ int test_jerry (int argc, char **argv)
register_js_function ("print", jerryx_handler_print);
/* Setup Global scope code */
ret_value = jerry_parse (script, script_size, false);
ret_value = jerry_parse (NULL, 0, script, script_size, JERRY_PARSE_NO_OPTS);
if (!jerry_value_has_error_flag (ret_value))
{

View File

@ -371,7 +371,7 @@ jerry_cmd_main (int argc, char *argv[])
const jerry_char_t script[] = "var str = 'Hello World'; print(str + ' from JerryScript')";
size_t script_size = strlen ((const char *) script);
ret_value = jerry_parse (script, script_size, false);
ret_value = jerry_parse (NULL, 0, script, script_size, JERRY_PARSE_NO_OPTS);
if (!jerry_value_has_error_flag (ret_value))
{
@ -391,11 +391,11 @@ jerry_cmd_main (int argc, char *argv[])
return JERRY_STANDALONE_EXIT_CODE_FAIL;
}
ret_value = jerry_parse_named_resource ((jerry_char_t *) file_names[i],
strlen (file_names[i]),
source_p,
source_size,
false);
ret_value = jerry_parse ((jerry_char_t *) file_names[i],
strlen (file_names[i]),
source_p,
source_size,
JERRY_PARSE_NO_OPTS);
if (!jerry_value_has_error_flag (ret_value))
{

View File

@ -62,9 +62,11 @@ main (void)
" }\n"
"}");
jerry_value_t parsed_code_val = jerry_parse ((jerry_char_t *) inf_loop_code_src_p,
jerry_value_t parsed_code_val = jerry_parse (NULL,
0,
(jerry_char_t *) inf_loop_code_src_p,
strlen (inf_loop_code_src_p),
false);
JERRY_PARSE_NO_OPTS);
TEST_ASSERT (!jerry_value_has_error_flag (parsed_code_val));
res = jerry_run (parsed_code_val);
@ -93,9 +95,11 @@ main (void)
"with({})\n"
" f();\n");
parsed_code_val = jerry_parse ((jerry_char_t *) inf_loop_code_src_p,
parsed_code_val = jerry_parse (NULL,
0,
(jerry_char_t *) inf_loop_code_src_p,
strlen (inf_loop_code_src_p),
false);
JERRY_PARSE_NO_OPTS);
TEST_ASSERT (!jerry_value_has_error_flag (parsed_code_val));
res = jerry_run (parsed_code_val);

View File

@ -365,7 +365,11 @@ main (void)
jerry_init (JERRY_INIT_EMPTY);
parsed_code_val = jerry_parse ((jerry_char_t *) test_source, strlen (test_source), false);
parsed_code_val = jerry_parse (NULL,
0,
(jerry_char_t *) test_source,
strlen (test_source),
JERRY_PARSE_NO_OPTS);
TEST_ASSERT (!jerry_value_has_error_flag (parsed_code_val));
res = jerry_run (parsed_code_val);
@ -1023,7 +1027,7 @@ main (void)
strlen (func_arg_list),
(const jerry_char_t *) func_src,
strlen (func_src),
false);
JERRY_PARSE_NO_OPTS);
TEST_ASSERT (!jerry_value_has_error_flag (func_val));
@ -1066,9 +1070,11 @@ main (void)
jerry_init (JERRY_INIT_SHOW_OPCODES);
const char *parser_err_src_p = "b = 'hello';\nvar a = (;";
parsed_code_val = jerry_parse ((jerry_char_t *) parser_err_src_p,
parsed_code_val = jerry_parse (NULL,
0,
(jerry_char_t *) parser_err_src_p,
strlen (parser_err_src_p),
false);
JERRY_PARSE_NO_OPTS);
TEST_ASSERT (jerry_value_has_error_flag (parsed_code_val));
jerry_value_clear_error_flag (&parsed_code_val);
jerry_value_t err_str_val = jerry_value_to_string (parsed_code_val);
@ -1094,7 +1100,11 @@ main (void)
magic_string_lengths);
const char *ms_code_src_p = "var global = {}; var console = [1]; var process = 1;";
parsed_code_val = jerry_parse ((jerry_char_t *) ms_code_src_p, strlen (ms_code_src_p), false);
parsed_code_val = jerry_parse (NULL,
0,
(jerry_char_t *) ms_code_src_p,
strlen (ms_code_src_p),
JERRY_PARSE_NO_OPTS);
TEST_ASSERT (!jerry_value_has_error_flag (parsed_code_val));
res = jerry_run (parsed_code_val);

View File

@ -50,9 +50,11 @@ main (void)
jerry_set_vm_exec_stop_callback (vm_exec_stop_callback, &countdown, 16);
const char *inf_loop_code_src_p = "while(true) {}";
jerry_value_t parsed_code_val = jerry_parse ((jerry_char_t *) inf_loop_code_src_p,
jerry_value_t parsed_code_val = jerry_parse (NULL,
0,
(jerry_char_t *) inf_loop_code_src_p,
strlen (inf_loop_code_src_p),
false);
JERRY_PARSE_NO_OPTS);
TEST_ASSERT (!jerry_value_has_error_flag (parsed_code_val));
jerry_value_t res = jerry_run (parsed_code_val);
@ -72,9 +74,11 @@ main (void)
inf_loop_code_src_p = ("function f() { while (true) ; }\n"
"try { f(); } catch(e) {}");
parsed_code_val = jerry_parse ((jerry_char_t *) inf_loop_code_src_p,
parsed_code_val = jerry_parse (NULL,
0,
(jerry_char_t *) inf_loop_code_src_p,
strlen (inf_loop_code_src_p),
false);
JERRY_PARSE_NO_OPTS);
TEST_ASSERT (!jerry_value_has_error_flag (parsed_code_val));
res = jerry_run (parsed_code_val);

View File

@ -30,7 +30,11 @@ int main (void)
);
jerry_init (JERRY_INIT_EMPTY);
jerry_value_t parsed_code_val = jerry_parse ((jerry_char_t *) test_source, strlen (test_source), false);
jerry_value_t parsed_code_val = jerry_parse (NULL,
0,
(jerry_char_t *) test_source,
strlen (test_source),
JERRY_PARSE_NO_OPTS);
TEST_ASSERT (!jerry_value_has_error_flag (parsed_code_val));
jerry_value_t res = jerry_run (parsed_code_val);

View File

@ -70,7 +70,11 @@ main (void)
jerry_init (JERRY_INIT_EMPTY);
/* Render strict-equal as a function. */
jerry_value_t parse_result = jerry_parse ((jerry_char_t *) strict_equal_source, strlen (strict_equal_source), true);
jerry_value_t parse_result = jerry_parse (NULL,
0,
(jerry_char_t *) strict_equal_source,
strlen (strict_equal_source),
JERRY_PARSE_STRICT_MODE);
TEST_ASSERT (!jerry_value_has_error_flag (parse_result));
jerry_value_t strict_equal = jerry_run (parse_result);
TEST_ASSERT (!jerry_value_has_error_flag (strict_equal));

View File

@ -148,7 +148,11 @@ main (void)
register_js_function ("create_promise2", create_promise2_handler);
register_js_function ("assert", assert_handler);
jerry_value_t parsed_code_val = jerry_parse ((jerry_char_t *) test_source, strlen (test_source), false);
jerry_value_t parsed_code_val = jerry_parse (NULL,
0,
(jerry_char_t *) test_source,
strlen (test_source),
JERRY_PARSE_NO_OPTS);
TEST_ASSERT (!jerry_value_has_error_flag (parsed_code_val));
jerry_value_t res = jerry_run (parsed_code_val);

View File

@ -660,7 +660,11 @@ main (void)
register_js_function ("test_validator_array1", test_validator_array1_handler);
register_js_function ("test_validator_array2", test_validator_array2_handler);
jerry_value_t parsed_code_val = jerry_parse ((jerry_char_t *) test_source, strlen (test_source), false);
jerry_value_t parsed_code_val = jerry_parse (NULL,
0,
(jerry_char_t *) test_source,
strlen (test_source),
JERRY_PARSE_NO_OPTS);
TEST_ASSERT (!jerry_value_has_error_flag (parsed_code_val));
jerry_value_t res = jerry_run (parsed_code_val);