summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Newton <kddnewton@gmail.com>2024-02-27 10:52:56 -0500
committergit <svn-admin@ruby-lang.org>2024-02-27 16:05:03 +0000
commitf67c9d001aefef26584b2d64c913240f0459f90b (patch)
treed1ebba245920f80b18e8a5e66b1aa6a7dc480bb9
parentfc36882713c7f86dcbec84c996b09a9c79a2d71f (diff)
[ruby/prism] Switch invalid _1 targeting even on syntax error
https://github.com/ruby/prism/commit/40dec909b7
-rw-r--r--prism/prism.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/prism/prism.c b/prism/prism.c
index 7c41b1670e..0c24681a5b 100644
--- a/prism/prism.c
+++ b/prism/prism.c
@@ -11414,12 +11414,10 @@ parse_target(pm_parser_t *parser, pm_node_t *target) {
target->type = PM_GLOBAL_VARIABLE_TARGET_NODE;
return target;
case PM_LOCAL_VARIABLE_READ_NODE:
- if (pm_token_is_numbered_parameter(target->location.start, target->location.end)) {
- PM_PARSER_ERR_NODE_FORMAT(parser, target, PM_ERR_PARAMETER_NUMBERED_RESERVED, target->location.start);
- } else {
- assert(sizeof(pm_local_variable_target_node_t) == sizeof(pm_local_variable_read_node_t));
- target->type = PM_LOCAL_VARIABLE_TARGET_NODE;
- }
+ pm_refute_numbered_parameter(parser, target->location.start, target->location.end);
+
+ assert(sizeof(pm_local_variable_target_node_t) == sizeof(pm_local_variable_read_node_t));
+ target->type = PM_LOCAL_VARIABLE_TARGET_NODE;
return target;
case PM_INSTANCE_VARIABLE_READ_NODE: