mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
parse.y: numbered parameters should not appear on toplevel.
Toplevel includes the top of the method/class/module definitions.
This commit is contained in:
@@ -6422,15 +6422,17 @@ parser_yylex(parser_state *p)
|
||||
nvars = nvars->cdr;
|
||||
}
|
||||
nvar = intn(p->nvars->car);
|
||||
if (nvar == -1) {
|
||||
yywarning(p, "numbered parameter used in inner block");
|
||||
if (nvar != -2) { /* numbered parameters never appear on toplevel */
|
||||
if (nvar == -1) {
|
||||
yywarning(p, "numbered parameter used in inner block");
|
||||
}
|
||||
else {
|
||||
p->nvars->car = nint(nvar > n ? nvar : n);
|
||||
}
|
||||
pylval.num = n;
|
||||
p->lstate = EXPR_END;
|
||||
return tNUMPARAM;
|
||||
}
|
||||
else {
|
||||
p->nvars->car = nint(nvar > n ? nvar : n);
|
||||
}
|
||||
pylval.num = n;
|
||||
p->lstate = EXPR_END;
|
||||
return tNUMPARAM;
|
||||
}
|
||||
}
|
||||
/* fall through */
|
||||
|
||||
Reference in New Issue
Block a user