summaryrefslogtreecommitdiff
path: root/prism
diff options
context:
space:
mode:
authorKevin Newton <kddnewton@gmail.com>2024-01-26 15:13:46 -0500
committergit <svn-admin@ruby-lang.org>2024-02-12 15:57:17 +0000
commit78deba1aa1d0902f610161655c50d73e8e2f7204 (patch)
treeda615e96a14c331bc66f5482f813674bce19484e /prism
parent739eec0456e50c6b83ff28d5887310102f5f1f2c (diff)
[ruby/prism] Unary not name location
https://github.com/ruby/prism/commit/78190d2999
Diffstat (limited to 'prism')
-rw-r--r--prism/prism.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/prism/prism.c b/prism/prism.c
index 9df29a2de5..533280c0b9 100644
--- a/prism/prism.c
+++ b/prism/prism.c
@@ -2890,7 +2890,8 @@ pm_def_node_receiver_check(pm_parser_t *parser, const pm_node_t *node) {
static pm_def_node_t *
pm_def_node_create(
pm_parser_t *parser,
- const pm_token_t *name,
+ pm_constant_id_t name,
+ const pm_location_t *name_loc,
pm_node_t *receiver,
pm_parameters_node_t *parameters,
pm_node_t *body,
@@ -2920,8 +2921,8 @@ pm_def_node_create(
.type = PM_DEF_NODE,
.location = { .start = def_keyword->start, .end = end },
},
- .name = pm_parser_constant_id_token(parser, name),
- .name_loc = PM_LOCATION_TOKEN_VALUE(name),
+ .name = name,
+ .name_loc = *name_loc,
.receiver = receiver,
.parameters = parameters,
.body = body,
@@ -15626,11 +15627,13 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
* methods to override the unary operators, we should ignore
* the @ in the same way we do for symbols.
*/
- name.end = parse_operator_symbol_name(&name);
+ pm_constant_id_t name_id = pm_parser_constant_id_token(parser, &name);
+ pm_location_t name_loc = { .start = name.start, .end = parse_operator_symbol_name(&name) };
return (pm_node_t *) pm_def_node_create(
parser,
- &name,
+ name_id,
+ &name_loc,
receiver,
params,
statements,