summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-12-26 14:20:03 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-12-26 14:20:03 +0000
commit1ab3974b0efea5155da005ec08a1feee90023d98 (patch)
treed1c1dd482b08f39c7b4b752b15c8e6952fdd89d8 /gc.c
parentafb10c62c2e45801df4245e6131af3a98efdebd1 (diff)
* node.h, node.c, parse.y: implement a parser part for keyword arguments. This is a preparation for keyword argument (see [ruby-core:40290]).
* gc.c (gc_mark_children): bookkeeping. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gc.c b/gc.c
index ae2f0c2910..e110f51ddd 100644
--- a/gc.c
+++ b/gc.c
@@ -1791,9 +1791,11 @@ gc_mark_children(rb_objspace_t *objspace, VALUE ptr, int lev)
{
struct rb_args_info *args = obj->as.node.u3.args;
if (args) {
- if (args->pre_init) gc_mark(objspace, (VALUE)args->pre_init, lev);
- if (args->post_init) gc_mark(objspace, (VALUE)args->post_init, lev);
- if (args->opt_args) gc_mark(objspace, (VALUE)args->opt_args, lev);
+ if (args->pre_init) gc_mark(objspace, (VALUE)args->pre_init, lev);
+ if (args->post_init) gc_mark(objspace, (VALUE)args->post_init, lev);
+ if (args->opt_args) gc_mark(objspace, (VALUE)args->opt_args, lev);
+ if (args->kw_args) gc_mark(objspace, (VALUE)args->kw_args, lev);
+ if (args->kw_rest_arg) gc_mark(objspace, (VALUE)args->kw_rest_arg, lev);
}
}
ptr = (VALUE)obj->as.node.u2.node;