aboutsummaryrefslogtreecommitdiffstats
path: root/prism_compile.c
diff options
context:
space:
mode:
authorJemma Issroff <jemmaissroff@gmail.com>2023-11-02 14:36:45 -0300
committerJemma Issroff <jemmaissroff@gmail.com>2023-11-02 17:46:43 -0300
commitca24136da61c9bca9a8260cb0ac2ff206f6f3843 (patch)
tree8496ba7f8bb747313a2c184c518ea9fc1ececc27 /prism_compile.c
parent698654ca8456a7e08033cb4eab2d6e9cef7b1413 (diff)
downloadruby-ca24136da61c9bca9a8260cb0ac2ff206f6f3843.tar.gz
[PRISM] Fix popped on DefinedNode
Diffstat (limited to 'prism_compile.c')
-rw-r--r--prism_compile.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/prism_compile.c b/prism_compile.c
index 59152d351e..6b8bf06bfe 100644
--- a/prism_compile.c
+++ b/prism_compile.c
@@ -1262,7 +1262,9 @@ pm_compile_defined_expr(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *con
lfinish[0] = NEW_LABEL(lineno);
lfinish[1] = 0;
- pm_compile_defined_expr0(iseq, node, ret, src, popped, scope_node, dummy_line_node, lineno, in_condition, lfinish);
+ if (!popped) {
+ pm_compile_defined_expr0(iseq, node, ret, src, popped, scope_node, dummy_line_node, lineno, in_condition, lfinish);
+ }
if (lfinish[1]) {
ELEM_INSERT_NEXT(last, &new_insn_body(iseq, &dummy_line_node, BIN(putnil), 0)->link);