summaryrefslogtreecommitdiff
path: root/prism_compile.c
diff options
context:
space:
mode:
authorNikita Vasilevsky <nikita.vasilevsky@shopify.com>2024-02-06 18:14:27 +0000
committerKevin Newton <kddnewton@gmail.com>2024-02-06 14:56:10 -0500
commitc3403322df7d81cd9426310bd7833d005b2a7ac7 (patch)
treeb336183d5a45d0595cd60f817ebc279e26c82ab6 /prism_compile.c
parentc1bc7147200b5e47816388f1d304454f25e50bcb (diff)
[PRISM] Use block node location when building block iseq
Co-Authored-By: Kevin Newton <kddnewton@gmail.com>
Diffstat (limited to 'prism_compile.c')
-rw-r--r--prism_compile.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/prism_compile.c b/prism_compile.c
index a2b9f7a1f0..98ee84ea10 100644
--- a/prism_compile.c
+++ b/prism_compile.c
@@ -2939,7 +2939,10 @@ pm_compile_call(rb_iseq_t *iseq, const pm_call_node_t *call_node, LINK_ANCHOR *c
// Scope associated with the block
pm_scope_node_t next_scope_node;
pm_scope_node_init(call_node->block, &next_scope_node, scope_node, parser);
- block_iseq = NEW_CHILD_ISEQ(&next_scope_node, make_name_for_block(iseq), ISEQ_TYPE_BLOCK, lineno);
+
+ int block_lineno = (int) pm_newline_list_line_column(&newline_list, call_node->block->location.start).line;
+ block_iseq = NEW_CHILD_ISEQ(&next_scope_node, make_name_for_block(iseq), ISEQ_TYPE_BLOCK, block_lineno);
+
pm_scope_node_destroy(&next_scope_node);
if (ISEQ_BODY(block_iseq)->catch_table) {