From cf29de7e6e92497c31ef08b567fcfe1b72bfaff7 Mon Sep 17 00:00:00 2001 From: 卜部昌平 Date: Fri, 12 Jun 2020 12:48:28 +0900 Subject: compile_next: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. --- compile.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'compile.c') diff --git a/compile.c b/compile.c index 5bf72e1ec0..a17323e8f8 100644 --- a/compile.c +++ b/compile.c @@ -6651,11 +6651,6 @@ compile_next(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, in ADD_INSN(ret, line, putnil); } } - else if (iseq->body->type == ISEQ_TYPE_EVAL) { - next_in_eval: - COMPILE_ERROR(ERROR_ARGS "Can't escape from eval with next"); - return COMPILE_NG; - } else { const rb_iseq_t *ip = iseq; @@ -6674,7 +6669,8 @@ compile_next(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, in break; } else if (ip->body->type == ISEQ_TYPE_EVAL) { - goto next_in_eval; + COMPILE_ERROR(ERROR_ARGS "Can't escape from eval with next"); + return COMPILE_NG; } ip = ip->body->parent_iseq; -- cgit v1.2.3