diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2024-01-08 21:53:33 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2024-01-10 14:06:33 +0900 |
commit | e59a7304779c6a51a89ff39695743a470f086c4e (patch) | |
tree | 58a2b736c39cf186985354d7932edfbb3f8927a1 /parse.y | |
parent | 48fd311721a3d6c56584bebafb48fa6c8e69eb5f (diff) |
`st_index_t` is not `VALUE`
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -213,7 +213,8 @@ node_cdhash_hash(VALUE a) switch (type) { case NODE_INTEGER: val = rb_node_integer_literal_val(node); - return (FIXNUM_P(val) ? val : FIX2LONG(rb_big_hash(val))); + if (!FIXNUM_P(val)) val = rb_big_hash(val); + return FIX2LONG(val); case NODE_FLOAT: val = rb_node_float_literal_val(node); return rb_dbl_long_hash(RFLOAT_VALUE(val)); @@ -227,7 +228,7 @@ node_cdhash_hash(VALUE a) return rb_node_sym_string_val(node); case NODE_LINE: /* Same with NODE_INTEGER FIXNUM case */ - return INT2FIX(node->nd_loc.beg_pos.lineno); + return (st_index_t)node->nd_loc.beg_pos.lineno; case NODE_FILE: /* Same with String in rb_iseq_cdhash_hash */ return rb_str_hash(rb_node_file_path_val(node)); |