diff options
author | Nikita Vasilevsky <nikita.vasilevsky@shopify.com> | 2024-02-06 18:14:27 +0000 |
---|---|---|
committer | Kevin Newton <kddnewton@gmail.com> | 2024-02-06 14:56:10 -0500 |
commit | c3403322df7d81cd9426310bd7833d005b2a7ac7 (patch) | |
tree | b336183d5a45d0595cd60f817ebc279e26c82ab6 /prism_compile.c | |
parent | c1bc7147200b5e47816388f1d304454f25e50bcb (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.c | 5 |
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) { |