diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-11-04 13:31:46 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-11-04 13:31:46 +0000 |
commit | b9f85dd7fae8ce328e2a3510cc3c864b6e887b79 (patch) | |
tree | 82a33338cd5017cbb30d899638cf65f09fd5ad3e /parse.y | |
parent | 5b6a11d9f1b66497c575968acba2e55957fb9956 (diff) | |
download | ruby-b9f85dd7fae8ce328e2a3510cc3c864b6e887b79.tar.gz |
parse.y (new_args_tail_gen): returns a NODE instead of imemo
`new_args_tail_gen` returned imemo, but the value was later accessed as
`NODE*`. This prevented change of NODE structure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -876,9 +876,11 @@ new_args_gen(struct parser_params *parser, VALUE f, VALUE o, VALUE r, VALUE p, V static inline VALUE new_args_tail_gen(struct parser_params *parser, VALUE k, VALUE kr, VALUE b) { - VALUE r = (VALUE)MEMO_NEW(k, kr, b); - add_mark_object(r); - return r; + NODE *t = rb_node_newnode(NODE_ARGS_AUX, k, kr, b); + add_mark_object(k); + add_mark_object(kr); + add_mark_object(b); + return (VALUE)t; } #define new_args_tail(k,kr,b,location) new_args_tail_gen(parser, (k),(kr),(b)) |