mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
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:
parent
3f3d4a64f1
commit
96b528a486
@ -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 ();
|
||||
|
||||
@ -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))
|
||||
{
|
||||
|
||||
@ -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))
|
||||
{
|
||||
|
||||
@ -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 */
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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))
|
||||
{
|
||||
|
||||
@ -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)
|
||||
{
|
||||
|
||||
@ -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))
|
||||
{
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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))
|
||||
{
|
||||
|
||||
@ -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))
|
||||
{
|
||||
|
||||
@ -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))
|
||||
{
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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));
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user