aboutsummaryrefslogtreecommitdiffstats
path: root/parse.y
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-12-20 01:01:17 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-12-20 01:25:34 +0900
commit27ddb6e99848c397a415b785315896ab50308076 (patch)
tree8312f25cd285eeefbbed149b0393b1d31c1d2b5e /parse.y
parentc6c67254fb17b3196a7b0d3fda4650f6b20a467d (diff)
downloadruby-27ddb6e99848c397a415b785315896ab50308076.tar.gz
Warn also numbered parameter like parameters
[Feature #16433]
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);