From: Dmitry Volyntsev Date: Fri, 18 Jun 2021 15:01:12 +0000 (+0000) Subject: Printing AST before trying to generate code. X-Git-Tag: 0.6.1~5 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=119f9878bb68de23554cb605f9cb8ad0841fdae8;p=njs.git Printing AST before trying to generate code. --- diff --git a/src/njs_vm.c b/src/njs_vm.c index 144e3d9f..f1c8b211 100644 --- a/src/njs_vm.c +++ b/src/njs_vm.c @@ -150,6 +150,23 @@ njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end) return NJS_ERROR; } + if (njs_slow_path(vm->options.ast)) { + njs_chb_init(&chain, vm->mem_pool); + ret = njs_parser_serialize_ast(parser.node, &chain); + if (njs_slow_path(ret == NJS_ERROR)) { + return ret; + } + + if (njs_slow_path(njs_chb_join(&chain, &ast) != NJS_OK)) { + return NJS_ERROR; + } + + njs_print(ast.start, ast.length); + + njs_chb_destroy(&chain); + njs_mp_free(vm->mem_pool, ast.start); + } + *start = lexer.start; scope = parser.scope; @@ -209,23 +226,6 @@ njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end) njs_disassembler(vm); } - if (njs_slow_path(vm->options.ast)) { - njs_chb_init(&chain, vm->mem_pool); - ret = njs_parser_serialize_ast(parser.node, &chain); - if (njs_slow_path(ret == NJS_ERROR)) { - return ret; - } - - if (njs_slow_path(njs_chb_join(&chain, &ast) != NJS_OK)) { - return NJS_ERROR; - } - - njs_print(ast.start, ast.length); - - njs_chb_destroy(&chain); - njs_mp_free(vm->mem_pool, ast.start); - } - return NJS_OK; }