summaryrefslogtreecommitdiff
path: root/ast.c
diff options
context:
space:
mode:
authorHASUMI Hitoshi <[email protected]>2024-04-26 21:43:35 +0900
committerYuichiro Kaneko <[email protected]>2024-04-27 12:08:26 +0900
commit55a402bb759597487905a94d5b1bbff4a672499c (patch)
tree9a6309c61f0f6871de0d47c135d4270bb270dfc7 /ast.c
parentbf1f16ef47966e33401e5b9656a4ae4152dd1e60 (diff)
Add line_count field to rb_ast_body_t
This patch adds `int line_count` field to `rb_ast_body_t` structure. Instead, we no longer cast `script_lines` to Fixnum. ## Background Ref https://github.com/ruby/ruby/pull/10618 In the PR above, we have decoupled IMEMO from `rb_ast_t`. This means we could lift the five-words-restriction of the structure that forced us to unionize `rb_ast_t *` and `FIXNUM` in one field. ## Relating refactor - Remove the second parameter of `rb_ruby_ast_new()` function ## Attention I will remove a code that assigns -1 to line_count, in `rb_binding_add_dynavars()` of vm.c, because I don't think it is necessary. But I will make another PR for this so that we can atomically revert in case I was wrong (See the comment on the code)
Diffstat (limited to 'ast.c')
-rw-r--r--ast.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/ast.c b/ast.c
index 48db3982ac..cc35a69a22 100644
--- a/ast.c
+++ b/ast.c
@@ -802,7 +802,6 @@ ast_node_script_lines(rb_execution_context_t *ec, VALUE self)
TypedData_Get_Struct(self, struct ASTNodeData, &rb_node_type, data);
ast = rb_ruby_ast_data_get(data->vast);
rb_parser_ary_t *ret = ast->body.script_lines;
- if (!ret || FIXNUM_P((VALUE)ret)) return Qnil;
return rb_parser_build_script_lines_from(ret);
}