Skip to content

Commit

Permalink
* id.c (Init_id): add underscore name.
Browse files Browse the repository at this point in the history
* parse.y (warn_unused_var): ignore underscore name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
nobu committed Jun 20, 2010
1 parent 14a15f8 commit d31350f
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 6 deletions.
6 changes: 5 additions & 1 deletion ChangeLog
@@ -1,4 +1,8 @@
Sun Jun 20 15:14:05 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
Sun Jun 20 16:17:24 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>

* id.c (Init_id): add underscore name.

* parse.y (warn_unused_var): ignore underscore name.

* parse.y (warn_unused_var): use same format as shadowing local
variable.
Expand Down
1 change: 1 addition & 0 deletions id.c
Expand Up @@ -47,4 +47,5 @@ Init_id(void)
REGISTER_SYMID(idSend, "send");
REGISTER_SYMID(id__send__, "__send__");
REGISTER_SYMID(idInitialize, "initialize");
REGISTER_SYMID(idUScore, "_");
}
6 changes: 2 additions & 4 deletions parse.y
Expand Up @@ -8229,10 +8229,7 @@ assignable_gen(struct parser_params *parser, ID id, NODE *val)
static ID
shadowing_lvar_gen(struct parser_params *parser, ID name)
{
ID uscore;

CONST_ID(uscore, "_");
if (uscore == name) return name;
if (idUScore == name) return name;
if (dyna_in_block()) {
if (dvar_curr(name)) {
yyerror("duplicated argument name");
Expand Down Expand Up @@ -8935,6 +8932,7 @@ warn_unused_var(struct parser_params *parser, struct local_vars *local)
}
for (i = 0; i < cnt; ++i) {
if (!v[i] || (u[i] & LVAR_USED)) continue;
if (idUScore == v[i]) continue;
rb_compile_warn(ruby_sourcefile, (int)u[i], "assigned but unused variable - %s", rb_id2name(v[i]));
}
}
Expand Down
5 changes: 4 additions & 1 deletion template/id.h.tmpl
Expand Up @@ -100,6 +100,7 @@ enum ruby_method_ids {
tSend,
t__send__,
tInitialize,
tUScore,
#if SUPPORT_JOKE
tBitblt,
tAnswer,
Expand All @@ -120,7 +121,9 @@ enum ruby_method_ids {
TOKEN2ID(Lambda),
TOKEN2ID(Send),
TOKEN2ID(__send__),
TOKEN2ID(Initialize)
TOKEN2ID(Initialize),
TOKEN2ID(UScore),
TOKEN2ID(LAST_ID)
};

#ifdef tLAST_TOKEN
Expand Down

0 comments on commit d31350f

Please sign in to comment.