From 7ecc16f97a75d0f0b1ecc0c08987f80e568b5749 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 5 Aug 2021 16:59:32 +0900 Subject: codegen.c: remove code duplication from `NODE_ARRAY`. --- mrbgems/mruby-compiler/core/codegen.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 9915440dd..eb53d5407 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -1480,6 +1480,7 @@ gen_values(codegen_scope *s, node *t, int val, int extra) if (is_splat && n == 0 && nint(t->car->cdr->car) == NODE_ARRAY) { codegen(s, t->car->cdr, VAL); pop(); + t = t->cdr; } else { pop_n(n); @@ -1489,17 +1490,7 @@ gen_values(codegen_scope *s, node *t, int val, int extra) else { genop_2(s, OP_ARRAY, cursp(), n); } - push(); - codegen(s, t->car, VAL); - pop(); pop(); - if (is_splat) { - genop_1(s, OP_ARYCAT, cursp()); - } - else { - genop_1(s, OP_ARYPUSH, cursp()); - } } - t = t->cdr; while (t) { push(); codegen(s, t->car, VAL); -- cgit v1.2.3