static njs_int_t njs_parser_call_arguments(njs_parser_t *parser,
njs_lexer_token_t *token, njs_queue_link_t *current,
njs_parser_node_t *func, njs_parser_state_func_t after);
+
+static njs_int_t njs_parser_right_link_pop(njs_parser_t *parser);
static njs_int_t njs_parser_call_expression(njs_parser_t *parser,
njs_lexer_token_t *token, njs_queue_link_t *current);
static njs_int_t njs_parser_call_expression_args(njs_parser_t *parser,
njs_lexer_consume_token(parser->lexer, 1);
- parser->target->right = parser->node;
- parser->node = parser->target;
-
- return njs_parser_stack_pop(parser);
+ return njs_parser_right_link_pop(parser);
}
}
+static njs_int_t
+njs_parser_right_link_pop(njs_parser_t *parser)
+{
+ parser->target->right = parser->node;
+ parser->node = parser->target;
+
+ return njs_parser_stack_pop(parser);
+}
+
+
static njs_int_t
njs_parser_call_expression(njs_parser_t *parser, njs_lexer_token_t *token,
njs_queue_link_t *current)
return njs_parser_failed(parser);
}
- parser->target->right = parser->node;
- parser->node = parser->target;
-
- return njs_parser_stack_pop(parser);
+ return njs_parser_right_link_pop(parser);
}
njs_parser_assignment_operator_after(njs_parser_t *parser,
njs_lexer_token_t *token, njs_queue_link_t *current)
{
- parser->target->right = parser->node;
- parser->node = parser->target;
-
- return njs_parser_stack_pop(parser);
+ return njs_parser_right_link_pop(parser);
}
njs_parser_do_while_semicolon(njs_parser_t *parser, njs_lexer_token_t *token,
njs_queue_link_t *current)
{
- parser->target->right = parser->node;
- parser->node = parser->target;
-
- return njs_parser_stack_pop(parser);
+ return njs_parser_right_link_pop(parser);
}
njs_parser_after_expr(njs_parser_t *parser,
njs_lexer_token_t *token, njs_queue_link_t *current)
{
- parser->target->right = parser->node;
- parser->node = parser->target;
-
- return njs_parser_stack_pop(parser);
+ return njs_parser_right_link_pop(parser);
}
njs_parser_for_in_statement_after(njs_parser_t *parser,
njs_lexer_token_t *token, njs_queue_link_t *current)
{
- parser->target->right = parser->node;
- parser->node = parser->target;
-
- return njs_parser_stack_pop(parser);
+ return njs_parser_right_link_pop(parser);
}
return njs_parser_failed(parser);
}
- parser->target->right = parser->node;
- parser->node = parser->target;
-
- return njs_parser_stack_pop(parser);
+ return njs_parser_right_link_pop(parser);
}
return njs_parser_failed(parser);
}
- parser->target->right = parser->node;
- parser->node = parser->target;
-
- return njs_parser_stack_pop(parser);
+ return njs_parser_right_link_pop(parser);
}
return njs_parser_failed(parser);
}
- parser->target->right = parser->node;
- parser->node = parser->target;
-
- return njs_parser_stack_pop(parser);
+ return njs_parser_right_link_pop(parser);
}