summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y14
1 files changed, 10 insertions, 4 deletions
diff --git a/parse.y b/parse.y
index 7de84ee700..33c1c89c3d 100644
--- a/parse.y
+++ b/parse.y
@@ -11830,18 +11830,24 @@ node_newnode_with_locals(struct parser_params *p, enum node_type type, VALUE a1,
#endif
static void
+numparam_name(struct parser_params *p, ID id)
+{
+ if (!NUMPARAM_ID_P(id)) return;
+ rb_warn1("`_%d' is used as numbered parameter",
+ WARN_I(NUMPARAM_ID_TO_IDX(id)));
+}
+
+static void
arg_var(struct parser_params *p, ID id)
{
+ numparam_name(p, id);
vtable_add(p->lvtbl->args, id);
}
static void
local_var(struct parser_params *p, ID id)
{
- if (NUMPARAM_ID_P(id)) {
- rb_warn1("`_%d' is used as numbered parameter",
- WARN_I(NUMPARAM_ID_TO_IDX(id)));
- }
+ numparam_name(p, id);
vtable_add(p->lvtbl->vars, id);
if (p->lvtbl->used) {
vtable_add(p->lvtbl->used, (ID)p->ruby_sourceline);