From a30cb8b65b8470b4fcd06abfb030f73ecc4e36c6 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Fri, 27 Jan 2017 16:01:31 +0300 Subject: [PATCH] Removed obsolete function call interface. --- nginx/ngx_http_js_module.c | 2 +- nginx/ngx_stream_js_module.c | 2 +- njs/njs_generator.c | 3 --- njs/njs_parser.c | 9 +-------- njs/njs_parser.h | 1 - njs/njscript.c | 18 +----------------- njs/njscript.h | 2 +- njs/test/njs_unit_test.c | 29 ++++------------------------- 8 files changed, 9 insertions(+), 57 deletions(-) diff --git a/nginx/ngx_http_js_module.c b/nginx/ngx_http_js_module.c index 6cf04823..104ca71f 100644 --- a/nginx/ngx_http_js_module.c +++ b/nginx/ngx_http_js_module.c @@ -1322,7 +1322,7 @@ ngx_http_js_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) return NGX_CONF_ERROR; } - rc = njs_vm_compile(jlcf->vm, &start, end, NULL, &export); + rc = njs_vm_compile(jlcf->vm, &start, end, &export); if (rc != NJS_OK) { njs_vm_exception(jlcf->vm, &text); diff --git a/nginx/ngx_stream_js_module.c b/nginx/ngx_stream_js_module.c index d1b670fb..43fb84df 100644 --- a/nginx/ngx_stream_js_module.c +++ b/nginx/ngx_stream_js_module.c @@ -1030,7 +1030,7 @@ ngx_stream_js_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) return NGX_CONF_ERROR; } - rc = njs_vm_compile(jscf->vm, &start, end, NULL, &export); + rc = njs_vm_compile(jscf->vm, &start, end, &export); if (rc != NJS_OK) { njs_vm_exception(jscf->vm, &text); diff --git a/njs/njs_generator.c b/njs/njs_generator.c index 805159cb..5476ab5d 100644 --- a/njs/njs_generator.c +++ b/njs/njs_generator.c @@ -170,9 +170,6 @@ njs_generator(njs_vm_t *vm, njs_parser_t *parser, njs_parser_node_t *node) case NJS_TOKEN_END: return njs_generate_stop_statement(vm, parser, node); - case NJS_TOKEN_CALL: - return njs_generate_children(vm, parser, node); - case NJS_TOKEN_COMMA: return njs_generate_comma_expression(vm, parser, node); diff --git a/njs/njs_parser.c b/njs/njs_parser.c index 6d881f1b..f45bb635 100644 --- a/njs/njs_parser.c +++ b/njs/njs_parser.c @@ -123,14 +123,7 @@ njs_parser(njs_vm_t *vm, njs_parser_t *parser) node = parser->node; - if (node != NULL && node->right != NULL) { - if (node->right->token == NJS_TOKEN_FUNCTION) { - node->token = NJS_TOKEN_CALL; - node->scope = parser->scope; - return node; - } - - } else { + if (node == NULL) { /* Empty string, just semicolons or variables declarations. */ node = njs_parser_node_alloc(vm); diff --git a/njs/njs_parser.h b/njs/njs_parser.h index e4942369..502efa93 100644 --- a/njs/njs_parser.h +++ b/njs/njs_parser.h @@ -14,7 +14,6 @@ typedef enum { NJS_TOKEN_ILLEGAL = 0, NJS_TOKEN_END, - NJS_TOKEN_CALL, NJS_TOKEN_SPACE, NJS_TOKEN_LINE_END, diff --git a/njs/njscript.c b/njs/njscript.c index aab1ea5d..6b1b261b 100644 --- a/njs/njscript.c +++ b/njs/njscript.c @@ -184,13 +184,11 @@ njs_vm_destroy(njs_vm_t *vm) nxt_int_t -njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end, - njs_function_t **function, nxt_str_t **export) +njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end, nxt_str_t **export) { nxt_int_t ret; njs_lexer_t *lexer; njs_parser_t *parser; - njs_variable_t *var; njs_parser_node_t *node; parser = nxt_mem_cache_zalloc(vm->mem_cache_pool, sizeof(njs_parser_t)); @@ -219,20 +217,6 @@ njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end, return NJS_ERROR; } - if (function != NULL) { - if (node->token == NJS_TOKEN_CALL) { - var = njs_variable_get(vm, node->right, NJS_NAME_DECLARATION); - if (nxt_slow_path(var == NULL)) { - return NJS_ERROR; - } - - *function = var->value.data.u.function; - - } else { - *function = NULL; - } - } - *start = parser->lexer->start; ret = njs_generate_scope(vm, parser, node); diff --git a/njs/njscript.h b/njs/njscript.h index f1726c5f..668f44b5 100644 --- a/njs/njscript.h +++ b/njs/njscript.h @@ -84,7 +84,7 @@ NXT_EXPORT njs_vm_t *njs_vm_create(nxt_mem_cache_pool_t *mcp, NXT_EXPORT void njs_vm_destroy(njs_vm_t *vm); NXT_EXPORT nxt_int_t njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end, - njs_function_t **function, nxt_str_t **export); + nxt_str_t **export); NXT_EXPORT njs_vm_t *njs_vm_clone(njs_vm_t *vm, nxt_mem_cache_pool_t *mcp, void **external); NXT_EXPORT nxt_int_t njs_vm_call(njs_vm_t *vm, njs_function_t *function, diff --git a/njs/test/njs_unit_test.c b/njs/test/njs_unit_test.c index f8e0471c..0a2e8ee2 100644 --- a/njs/test/njs_unit_test.c +++ b/njs/test/njs_unit_test.c @@ -6758,11 +6758,6 @@ static njs_unit_test_t njs_test[] = { nxt_string("parseFloat('12345abc')"), nxt_string("12345") }, - /* External interface. */ - - { nxt_string("function f(req) { return req.uri }"), - nxt_string("АБВ") }, - /* Trick: number to boolean. */ { nxt_string("var a = 0; !!a"), @@ -7056,14 +7051,12 @@ njs_unit_test(nxt_bool_t disassemble) u_char *start; njs_vm_t *vm, *nvm; nxt_int_t ret; - nxt_str_t s, r_name, *export; + nxt_str_t s, *export; nxt_uint_t i; nxt_bool_t success; nxt_lvlhsh_t externals; - njs_function_t *function; njs_vm_shared_t *shared; njs_unit_test_req r; - njs_opaque_value_t value; nxt_mem_cache_pool_t *mcp; /* @@ -7105,7 +7098,7 @@ njs_unit_test(nxt_bool_t disassemble) start = njs_test[i].script.start; ret = njs_vm_compile(vm, &start, start + njs_test[i].script.length, - &function, &export); + &export); if (ret == NXT_OK) { if (disassemble) { @@ -7121,20 +7114,7 @@ njs_unit_test(nxt_bool_t disassemble) r.uri.length = 6; r.uri.start = (u_char *) "АБВ"; - if (function != NULL) { - r_name.length = 2; - r_name.start = (u_char *) "$r"; - - ret = njs_vm_external(nvm, NULL, &r_name, &value); - if (ret != NXT_OK) { - return NXT_ERROR; - } - - ret = njs_vm_call(nvm, function, &value, 1); - - } else { - ret = njs_vm_run(nvm); - } + ret = njs_vm_run(nvm); if (ret == NXT_OK) { if (njs_vm_retval(nvm, &s) != NXT_OK) { @@ -7219,7 +7199,7 @@ njs_unit_test_benchmark(nxt_str_t *script, nxt_str_t *result, const char *msg, start = script->start; - ret = njs_vm_compile(vm, &start, start + script->length, NULL, &export); + ret = njs_vm_compile(vm, &start, start + script->length, &export); if (ret != NXT_OK) { return NXT_ERROR; } @@ -7232,7 +7212,6 @@ njs_unit_test_benchmark(nxt_str_t *script, nxt_str_t *result, const char *msg, } if (njs_vm_run(nvm) == NXT_OK) { - if (njs_vm_retval(nvm, &s) != NXT_OK) { return NXT_ERROR; } -- 2.47.3