From 2de3281af4050913ae2c8e47f47c0cdb422a48d1 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 14 Dec 2014 11:11:45 +0000 Subject: parse.y: warn reference after method definition * parse.y (primary): restore current_arg so that circular reference after a method definition is also warned. [ruby-core:61299] [Bug #9593] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'parse.y') diff --git a/parse.y b/parse.y index 924ec57260..20345085b5 100644 --- a/parse.y +++ b/parse.y @@ -3027,12 +3027,15 @@ primary : literal %*/ local_pop(); in_def--; + current_arg = $3; } | k_def singleton dot_or_colon {lex_state = EXPR_FNAME;} fname { in_single++; lex_state = EXPR_ENDFN; /* force for args */ local_push(0); + $$ = current_arg; + current_arg = 0; } f_arglist bodystmt @@ -3048,6 +3051,7 @@ primary : literal %*/ local_pop(); in_single--; + current_arg = $6; } | keyword_break { -- cgit v1.2.3