diff options
| author | Kevin Newton <kddnewton@gmail.com> | 2024-01-26 15:13:46 -0500 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2024-02-12 15:57:17 +0000 |
| commit | 78deba1aa1d0902f610161655c50d73e8e2f7204 (patch) | |
| tree | da615e96a14c331bc66f5482f813674bce19484e /prism | |
| parent | 739eec0456e50c6b83ff28d5887310102f5f1f2c (diff) | |
[ruby/prism] Unary not name location
https://github.com/ruby/prism/commit/78190d2999
Diffstat (limited to 'prism')
| -rw-r--r-- | prism/prism.c | 13 |
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, |
