Lines Matching +defs:args +defs:keywords

1124 	struct rb_args_info *args = node_args->nd_ainfo;
1135 iseq->argc = (int)args->pre_args_num;
1138 rest_id = args->rest_arg;
1143 block_id = args->block_arg;
1145 if (args->first_post_arg) {
1146 iseq->arg_post_start = get_dyna_var_idx_at_raw(iseq, args->first_post_arg);
1147 iseq->arg_post_len = args->post_args_num;
1150 if (args->opt_args) {
1151 NODE *node = args->opt_args;
1183 if (args->kw_args) {
1184 NODE *node = args->kw_args;
1185 VALUE keywords = rb_ary_tmp_new(1);
1188 iseq->arg_keyword = get_dyna_var_idx_at_raw(iseq, args->kw_rest_arg->nd_vid);
1189 COMPILE(optargs, "kwarg", args->kw_rest_arg);
1191 rb_ary_push(keywords, INT2FIX(node->nd_body->nd_vid));
1196 iseq->arg_keyword_check = (args->kw_rest_arg->nd_vid & ID_SCOPE_MASK) == ID_JUNK;
1200 iseq->arg_keyword_table[j] = FIX2INT(RARRAY_PTR(keywords)[j]);
1202 ADD_INSN(optargs, nd_line(args->kw_args), pop);
1204 else if (args->kw_rest_arg) {
1205 iseq->arg_keyword = get_dyna_var_idx_at_raw(iseq, args->kw_rest_arg->nd_vid);
1206 COMPILE(optargs, "kwarg", args->kw_rest_arg);
1207 ADD_INSN(optargs, nd_line(args->kw_rest_arg), pop);
1213 if (args->pre_init) { /* m_init */
1214 COMPILE_POPED(optargs, "init arguments (m)", args->pre_init);
1216 if (args->post_init) { /* p_init */
1217 COMPILE_POPED(optargs, "init arguments (p)", args->post_init);
3063 setup_args(rb_iseq_t *iseq, LINK_ANCHOR *args, NODE *argn, VALUE *flag)
3082 COMPILE(args, "args (splat)", argn->nd_head);
3094 COMPILE(tmp, "args (cat: splat)", argn->nd_body);
3111 argc = INT2FIX(compile_array(iseq, args, argn->nd_head, COMPILE_ARRAY_TYPE_ARGS) + 1);
3120 argc = INT2FIX(compile_array(iseq, args, argn, COMPILE_ARRAY_TYPE_ARGS));
3132 ADD_INSN(args_splat, nd_line(args), concatarray);
3137 ADD_SEQ(args, args_splat);
3141 ADD_SEQ(args, arg_block);
3944 DECL_ANCHOR(args);
3984 INIT_ANCHOR(args);
3985 argc = setup_args(iseq, args, node->nd_args->nd_head, &flag);
3986 ADD_SEQ(ret, args);
4015 COMPILE(ret, "NODE_OP_ASGN1 args->body: ", node->nd_args->nd_body);
4051 COMPILE(ret, "NODE_OP_ASGN1 args->body: ", node->nd_args->nd_body);
4292 DECL_ANCHOR(args);
4300 INIT_ANCHOR(args);
4373 /* args */
4375 argc = setup_args(iseq, args, node->nd_args, &flag);
4382 ADD_SEQ(ret, args);
4384 debugp_param("call args argc", argc);
4405 DECL_ANCHOR(args);
4410 INIT_ANCHOR(args);
4413 VALUE vargc = setup_args(iseq, args, node->nd_args, &flag);
4427 ADD_INSN2(args, line, getlocal, INT2FIX(idx), INT2FIX(lvar_level));
4436 ADD_INSN2(args, line, getlocal, INT2FIX(idx), INT2FIX(lvar_level));
4445 ADD_INSN2(args, line, getlocal, INT2FIX(idx), INT2FIX(lvar_level));
4459 ADD_INSN2(args, line, getlocal, INT2FIX(idx), INT2FIX(lvar_level));
4461 ADD_INSN1(args, line, newarray, INT2FIX(j));
4462 ADD_INSN (args, line, concatarray);
4469 ADD_INSN2(args, line, getlocal, INT2FIX(idx), INT2FIX(lvar_level));
4479 ADD_INSN1(args, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));
4480 ADD_INSN2(args, line, getlocal, INT2FIX(idx), INT2FIX(lvar_level));
4481 ADD_SEND (args, line, ID2SYM(rb_intern("dup")), INT2FIX(0));
4485 ADD_INSN1(args, line, putobject, ID2SYM(id));
4486 ADD_INSN2(args, line, getlocal, INT2FIX(idx), INT2FIX(lvar_level));
4488 ADD_SEND(args, line, ID2SYM(id_core_hash_merge_ptr), INT2FIX(i * 2 + 1));
4490 ADD_INSN1(args, line, newarray, INT2FIX(1));
4491 ADD_INSN (args, line, concatarray);
4500 ADD_SEQ(ret, args);
4594 DECL_ANCHOR(args);
4598 INIT_ANCHOR(args);
4604 argc = setup_args(iseq, args, node->nd_head, &flag);
4610 ADD_SEQ(ret, args);
5254 DECL_ANCHOR(args);
5259 INIT_ANCHOR(args);
5260 argc = setup_args(iseq, args, node->nd_args, &flag);
5276 ADD_SEQ(ret, args);
5300 ADD_SEQ(ret, args);
5758 rb_iseq_build_from_ary(rb_iseq_t *iseq, VALUE locals, VALUE args,
5776 /* args */
5777 if (FIXNUM_P(args)) {
5778 iseq->arg_size = iseq->argc = FIX2INT(args);
5783 VALUE argc = CHECK_INTEGER(rb_ary_entry(args, i++));
5784 VALUE arg_opt_labels = CHECK_ARRAY(rb_ary_entry(args, i++));
5785 VALUE arg_post_len = CHECK_INTEGER(rb_ary_entry(args, i++));
5786 VALUE arg_post_start = CHECK_INTEGER(rb_ary_entry(args, i++));
5787 VALUE arg_rest = CHECK_INTEGER(rb_ary_entry(args, i++));
5788 VALUE arg_block = CHECK_INTEGER(rb_ary_entry(args, i++));
5789 VALUE arg_simple = CHECK_INTEGER(rb_ary_entry(args, i++));