diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2022-01-11 14:32:37 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2022-01-11 14:49:41 +0900 |
| commit | 3a30cc27da030cb936acf23354e0109222c08101 (patch) | |
| tree | 5956e2de4422bcb98889b0e32b201fc41f24960f /mrbgems/mruby-compiler/core/parse.y | |
| parent | 5dfbfb3ecd788bd029d6ce000ba0649b9ec11e90 (diff) | |
| download | mruby-3a30cc27da030cb936acf23354e0109222c08101.tar.gz mruby-3a30cc27da030cb936acf23354e0109222c08101.zip | |
parse.y: move numbered parameter indexing to lexer.
Diffstat (limited to 'mrbgems/mruby-compiler/core/parse.y')
| -rw-r--r-- | mrbgems/mruby-compiler/core/parse.y | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 579d4291a..5054085df 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -712,10 +712,6 @@ new_cvar(parser_state *p, mrb_sym sym) static node* new_nvar(parser_state *p, int num) { - if (p->nvars) { - int nvars = intn(p->nvars->car); - p->nvars->car = nint(nvars > num ? nvars : num); - } return cons((node*)NODE_NVAR, nint(num)); } @@ -6429,6 +6425,9 @@ parser_yylex(parser_state *p) 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; |
