summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y20
1 files changed, 1 insertions, 19 deletions
diff --git a/parse.y b/parse.y
index 7e85d70c1e..6e3e54efa0 100644
--- a/parse.y
+++ b/parse.y
@@ -2909,25 +2909,7 @@ primary : literal
NODE *args, *scope;
if (nd_type($2) == NODE_MASGN) {
- /* if args.length == 1 && args[0].kind_of?(Array)
- * args = args[0]
- * end
- */
- NODE *one = NEW_LIST(NEW_LIT(INT2FIX(1)));
- NODE *zero = NEW_LIST(NEW_LIT(INT2FIX(0)));
- m->nd_next = block_append(
- NEW_IF(
- NEW_NODE(NODE_AND,
- NEW_CALL(NEW_CALL(NEW_DVAR(id), idLength, 0),
- idEq, one),
- NEW_CALL(NEW_CALL(NEW_DVAR(id), idAREF, zero),
- rb_intern("kind_of?"), NEW_LIST(NEW_LIT(rb_cArray))),
- 0),
- NEW_DASGN_CURR(id,
- NEW_CALL(NEW_DVAR(id), idAREF, zero)),
- 0),
- node_assign($2, NEW_DVAR(id)));
-
+ m->nd_next = node_assign($2, NEW_FOR(NEW_DVAR(id), 0, 0));
args = new_args(m, 0, id, 0, new_args_tail(0, 0, 0));
}
else {