* parse.y (shadowing_lvar_gen): fix line number. [ruby-dev:42718]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-12-08 12:36:20 +00:00
parent fad7d95a18
commit 2f26014e38
3 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,7 @@
Wed Dec 8 21:36:16 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (shadowing_lvar_gen): fix line number. [ruby-dev:42718]
Wed Dec 8 20:37:11 2010 Tanaka Akira <akr@fsij.org>
* dir.c: parenthesize macro arguments.

View File

@ -8269,7 +8269,7 @@ shadowing_lvar_gen(struct parser_params *parser, ID name)
rb_warningS("shadowing outer local variable - %s", rb_id2name(name));
vtable_add(lvtbl->vars, name);
if (lvtbl->used) {
vtable_add(lvtbl->used, name);
vtable_add(lvtbl->used, (ID)ruby_sourceline);
}
}
}

View File

@ -454,6 +454,18 @@ class TestRubyOptions < Test::Unit::TestCase
assert_in_out_err(["-we", "def foo\n eval('a=1')\nend"], "", [], [], feature3446)
assert_in_out_err(["-we", "1.times do\n a=1\nend"], "", [], [], feature3446)
assert_in_out_err(["-we", "def foo\n 1.times do\n a=1\n end\nend"], "", [], ["-e:3: warning: assigned but unused variable - a"], feature3446)
assert_in_out_err(["-we", "def foo\n"" 1.times do |a| end\n""end"], "", [], [])
end
def test_shadowing_variable
bug4130 = '[ruby-dev:42718]'
assert_in_out_err(["-we", "def foo\n"" a=1\n"" 1.times do |a| end\n"" a\n""end"],
"", [], ["-e:3: warning: shadowing outer local variable - a"], bug4130)
assert_in_out_err(["-we", "def foo\n"" a=1\n"" 1.times do |a| end\n""end"],
"", [],
["-e:3: warning: shadowing outer local variable - a",
"-e:2: warning: assigned but unused variable - a",
], bug4130)
end
def test_script_from_stdin