njs_generate_function_call(njs_vm_t *vm, njs_generator_t *generator,
    njs_parser_node_t *node)
{
    njs_int_t       ret;
    njs_variable_t  *var;

    var = NULL;

    if (node->left != NULL) {
        /* Generate function code in function expression. */

        njs_generator_next(generator, njs_generate, node->left);

        return njs_generator_after(vm, generator,
                                   njs_queue_first(&generator->stack), node,
                                   njs_generate_function_call_arguments,
                                   NULL, 0);
    }

    ret = njs_generate_variable(vm, generator, node, NJS_REFERENCE, &var);
    if (njs_slow_path(ret != NJS_OK)) {
        return ret;
    }

    return njs_generate_function_call_arguments(vm, generator, node);
}
njs_generate_function_call(njs_vm_t *vm, njs_generator_t *generator,
    njs_parser_node_t *node)
{
    njs_int_t       ret;
    njs_variable_t  *var;

    var = NULL;

    if (node->left != NULL) {
         

        njs_generator_next(generator, njs_generate, node->left);

        return njs_generator_after(vm, generator,
                                   njs_queue_first(&generator->stack), node,
                                   njs_generate_function_call_arguments,
                                   NULL, 0);
    }

    ret = njs_generate_variable(vm, generator, node, NJS_REFERENCE, &var);
    if (njs_slow_path(ret != NJS_OK)) {
        return ret;
    }

    return njs_generate_function_call_arguments(vm, generator, node);
}