parse.y: check duplicated argument names; fix #5575

This commit is contained in:
Yukihiro "Matz" Matsumoto
2021-11-21 19:05:50 +09:00
parent f69eafc6bd
commit 01cadd3e70
2 changed files with 1526 additions and 1510 deletions
+8
View File
@@ -299,6 +299,14 @@ static void
local_add_f(parser_state *p, mrb_sym sym)
{
if (p->locals) {
node *n = p->locals->car;
while (n) {
if (sym(n->car) == sym) {
yyerror(p, "duplicated argument name");
return;
}
n = n->cdr;
}
p->locals->car = push(p->locals->car, nsym(sym));
}
}
File diff suppressed because it is too large Load Diff