зеркало из https://github.com/github/ruby.git
Switching first argument in pm_interpolated_node_compile
This changes the first argument in `pm_interpolated_node_compile` to use a pointer.
This commit is contained in:
Родитель
46ef74f270
Коммит
4dd11c067d
|
@ -660,13 +660,13 @@ pm_compile_while(rb_iseq_t *iseq, int lineno, pm_node_flags_t flags, enum pm_nod
|
|||
}
|
||||
|
||||
static void
|
||||
pm_interpolated_node_compile(pm_node_list_t parts, rb_iseq_t *iseq, NODE dummy_line_node, LINK_ANCHOR *const ret, const uint8_t *src, bool popped, pm_scope_node_t *scope_node, pm_parser_t *parser)
|
||||
pm_interpolated_node_compile(pm_node_list_t *parts, rb_iseq_t *iseq, NODE dummy_line_node, LINK_ANCHOR *const ret, const uint8_t *src, bool popped, pm_scope_node_t *scope_node, pm_parser_t *parser)
|
||||
{
|
||||
size_t parts_size = parts.size;
|
||||
size_t parts_size = parts->size;
|
||||
|
||||
if (parts_size > 0) {
|
||||
for (size_t index = 0; index < parts_size; index++) {
|
||||
pm_node_t *part = parts.nodes[index];
|
||||
pm_node_t *part = parts->nodes[index];
|
||||
|
||||
if (PM_NODE_TYPE_P(part, PM_STRING_NODE)) {
|
||||
pm_string_node_t *string_node = (pm_string_node_t *) part;
|
||||
|
@ -2655,7 +2655,8 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
|
|||
}
|
||||
case PM_INTERPOLATED_MATCH_LAST_LINE_NODE: {
|
||||
pm_interpolated_match_last_line_node_t *cast = (pm_interpolated_match_last_line_node_t *) node;
|
||||
pm_interpolated_node_compile(cast->parts, iseq, dummy_line_node, ret, src, popped, scope_node, parser);
|
||||
|
||||
pm_interpolated_node_compile(&cast->parts, iseq, dummy_line_node, ret, src, popped, scope_node, parser);
|
||||
|
||||
ADD_INSN2(ret, &dummy_line_node, toregexp, INT2FIX(pm_reg_flags(node)), INT2FIX((int) (cast->parts.size)));
|
||||
|
||||
|
@ -2667,7 +2668,7 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
|
|||
}
|
||||
case PM_INTERPOLATED_REGULAR_EXPRESSION_NODE: {
|
||||
pm_interpolated_regular_expression_node_t *cast = (pm_interpolated_regular_expression_node_t *) node;
|
||||
pm_interpolated_node_compile(cast->parts, iseq, dummy_line_node, ret, src, popped, scope_node, parser);
|
||||
pm_interpolated_node_compile(&cast->parts, iseq, dummy_line_node, ret, src, popped, scope_node, parser);
|
||||
|
||||
ADD_INSN2(ret, &dummy_line_node, toregexp, INT2FIX(pm_reg_flags(node)), INT2FIX((int) (cast->parts.size)));
|
||||
PM_POP_IF_POPPED;
|
||||
|
@ -2675,7 +2676,7 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
|
|||
}
|
||||
case PM_INTERPOLATED_STRING_NODE: {
|
||||
pm_interpolated_string_node_t *interp_string_node = (pm_interpolated_string_node_t *) node;
|
||||
pm_interpolated_node_compile(interp_string_node->parts, iseq, dummy_line_node, ret, src, popped, scope_node, parser);
|
||||
pm_interpolated_node_compile(&interp_string_node->parts, iseq, dummy_line_node, ret, src, popped, scope_node, parser);
|
||||
|
||||
size_t parts_size = interp_string_node->parts.size;
|
||||
if (parts_size > 1) {
|
||||
|
@ -2687,7 +2688,7 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
|
|||
}
|
||||
case PM_INTERPOLATED_SYMBOL_NODE: {
|
||||
pm_interpolated_symbol_node_t *interp_symbol_node = (pm_interpolated_symbol_node_t *) node;
|
||||
pm_interpolated_node_compile(interp_symbol_node->parts, iseq, dummy_line_node, ret, src, popped, scope_node, parser);
|
||||
pm_interpolated_node_compile(&interp_symbol_node->parts, iseq, dummy_line_node, ret, src, popped, scope_node, parser);
|
||||
|
||||
size_t parts_size = interp_symbol_node->parts.size;
|
||||
if (parts_size > 1) {
|
||||
|
@ -2706,7 +2707,7 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
|
|||
case PM_INTERPOLATED_X_STRING_NODE: {
|
||||
pm_interpolated_x_string_node_t *interp_x_string_node = (pm_interpolated_x_string_node_t *) node;
|
||||
PM_PUTSELF;
|
||||
pm_interpolated_node_compile(interp_x_string_node->parts, iseq, dummy_line_node, ret, src, false, scope_node, parser);
|
||||
pm_interpolated_node_compile(&interp_x_string_node->parts, iseq, dummy_line_node, ret, src, false, scope_node, parser);
|
||||
|
||||
size_t parts_size = interp_x_string_node->parts.size;
|
||||
if (parts_size > 1) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче