diff options
Diffstat (limited to 'prism_compile.c')
-rw-r--r-- | prism_compile.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/prism_compile.c b/prism_compile.c index e29e57721a..3c081cbafa 100644 --- a/prism_compile.c +++ b/prism_compile.c @@ -1443,9 +1443,18 @@ pm_compile_defined_expr0(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *co enum defined_type dtype = DEFINED_NOT_DEFINED; switch (PM_NODE_TYPE(node)) { case PM_NIL_NODE: - case PM_PARENTHESES_NODE: dtype = DEFINED_NIL; break; + case PM_PARENTHESES_NODE: { + pm_parentheses_node_t *parentheses_node = (pm_parentheses_node_t *) node; + + if (parentheses_node->body == NULL) { + dtype = DEFINED_NIL; + } else { + dtype = DEFINED_EXPR; + } + break; + } case PM_SELF_NODE: dtype = DEFINED_SELF; break; |